Académique Documents
Professionnel Documents
Culture Documents
II.1.5.6.Détruire ................................................................................................................................. 26
II.1. 6. L’ordonnancement des processus ........................................................................................... 26
II.2.Threads ....................................................................................................................................... 27
II.2. 1.Utilisation des Threads.......................................................................................................... 28
II.2. 2.Implémentation des threads ................................................................................................. 28
II.3. 1.Notion sur le fichier .................................................................................................................. 29
II.3.2.système de gestion ................................................................................................................... 29
II.3.3.Système des fichiers ........................................................................................................... 30
II.4.Ordonnancement ..................................................................................................................... 31
II.4. 1.Définition .................................................................................................................. 31
II.4.2.Quelques algorithmes utilisés .................................................................................. 31
a) Algorithmes collaboratifs ............................................................................................ 31
First Input First Output :FIFO ................................................................................... 31
Last Input First Output :LIFO .................................................................................... 32
Shortest Job First ....................................................................................................... 32
b) Algorithmes préemptifs ......................................................................................................... 32
Shortest Remaining Time Next: ............................................................................................ 32
Fixed priority pre-emptive scheduling .................................................................... 33
Round-robin : Tourniquet ........................................................................................ 33
Multilevel feedback queue ........................................................................................ 33
II.4.3.Ordonnancement des processus .............................................................................................. 34
II.4.5.Ordonnancement non préemptif ............................................................................................. 35
II.4.7. Ordonnanceurs préemptifs ......................................................................... 39
II.4.6.1.Ordonnancement du plus petit temps de séjour ................................................................... 40
II.4.6.2. Ordonnancement circulaire ................................................................................................. 40
CHAPITRE III : LE SYSTEME D’EXPLOITATION DOS ET WINDOWS ................................. 41
III. 1.Historique du Dos .................................................................................................................. 41
III.2. Différentes versions ............................................................................................................ 42
III.3. Composants du DOS ............................................................................................................ 43
III.4. Commandes dos ................................................................................................................... 44
III.4.1. Commandes des bases ....................................................................................................... 44
III.4.2. Commandes utilitaires Windows ..................................................................................... 46
III.4.3. Commandes diverses ......................................................................................................... 48
Conclusion .................................................................................................................................... 67
1Algorithme : (Mohammed ibn musa Abu Djefar al-khwarizmi : père de l’algorithme), une séquence d’opérations
visant à la résolution d’un problème en un temps fini dont. Jargon de l’informatique.
’ ’ ’
Il est difficile de dire précisément en quoi consiste un système d’exploitation. Le problème est du
fait que le système d’exploitation remplit deux tâches a priori sans relations : il offre aux
programmeurs d’applications (et aux logiciels d’applications un ensemble clair de ressources
d’une part, et d’autre part il gère les ressources matérielles de l’ordinateur. Examinons les deux
tâches :
Le système d’exploitation comme machine étendue
Ainsi, le système d’exploitation est le programme qui cache les détails de fonctionnement du
matériel et présente au programmeur une interface simple et élégante à base de fichiers à lire
et ou à écrire (read/write) qui sont les deux commandes simples le plus utilisées. Les vrais
utilisateurs du système d’exploitation sont programmes d’applications.
La vue développée précédemment est une vue descendante. À l’inverse, on peut adopter un
point de vue ascendant consistant à dire que le système d’exploitation doit gérer l’ensemble
des éléments d’un système fort complexe. Dans ce second point de vue, le système
d’exploitation doit gérer de manière équitable et optimale l’allocation des processeurs, de la
mémoire et des périphériques d’E/S aux différents programmes concurrents qui les
Comment fonctionne-t-il ?
I.3.Définition
Toutefois, nous pourrions dire que le système d’exploitation est
l’ensemble des applications ou programme qui est à la base du bon
fonctionnement d’un micro-ordinateur et qui assure un pont entre l’utilisateur
est l’ordinateur et encore basé pour gérer l’allocation du processeur entre les
différentes programmes grâce à l’algorithme d’ordonnancement4.
En bref : L’interface entre le logiciel et le physique.
4Ordonnancement : Mécanisme par lequel on donne la main successivement à tous les processus prêts, dans un
système d’exploitation. Jargon informatique.
Les noyaux monolithiques sont adaptés ainsi car ils sont constitués d’un
seul bloc non modulaire
Pour ces raisons de performance, les systèmes généralistes basés sur une
technologie à micro-noyau, tels que Windows et Mac OS X, n’ont pas un « vrai »
micro-noyau enrichi. Ils utilisent un micro-noyau hybride : certaines
Réseau
A. Hiérarchie
A B C D E
La méthode
Le genre La politique de partage
d’accès au La configuration Le nombre d’usage
d’application des de ressources physique
système par matérielle simulitaire
usagers et logique
usager
Partage de la mémoire
Par sessions : ce
Développement Un seul processeur entre plusieurs Systèmes
sont de systèmes
de programme : monoprocesseur programmes : système monopostes
transactionnels multiprogrammé
Partage du temps
processeur entre les
Plusieurs programmes en
Par requête : Manipulation des processeurs : exécution : temps Systèmes
temps réel données Système partagé (partage par multiposte
multiprocesseurs quantum de temps) ou
temps réel (partage par
priorité des tâches
Par travaux
(batch) : Basée sur un réseau
traitement par lot
II.1.1. Notion
6 Espace d’adressage : un ensemble d’adresses mémoire allant de 0 à une limite donnée, dans lesquelles le
processus, peut lire et écrire.www. merriam-webster.com/dictionary
7 Pile : structure des données classiques où les premières données qu’on y met sont les dernières à ressortir.
Jargon Informatique
8 Quantum : courte temps qu’un système multitâche attribue à un processus pendant lequel il s’exécute sans
WEB
WEB 1.0
WEB 2.0
WEB 3.0
II.1.2. Définition
La plupart des processus s’arrêtent parce qu’ils ont terminé la tâche qui leur
incombait. Lorsqu’un compilateur a terminé de compiler le programme qu’on lui
a confié, il exécute un appel système pour indiquer cet état du fait au système
d’exploitation. Cet appel est un Exit sous UNIX et un Exitprocessus sous Windows.
Un processus est donc une entité dynamique qui a une durée de vie
limitée (la durée de l’exécution du programme) et dont on peut caractériser le
comportement à un certain niveau d’abstraction par un diagramme de transitions
d’état.
Exit
Activer Créer
Actif Prêt
Suspendre Détruire
Débloquer
Bloquer
Bloqué
Détruire
II.1.5.1. Créer
exemple), l’état, le contexte initial qui sera chargé dans les registres du processeur
pour débuter l’exécution, l’espace mémoire alloué pour le chargement et
l’exécution du programme, certains paramètres d’exécution (priorité, délais de
garde,…), le nom de l’usager pour lequel le processus « travaille », l’environnement
fichier accessible (répertoire de travail), etc.
Lorsqu’on crée un processus, deux approches sont possibles : soit
le nouvel objet est créé de toute pièce, soit le nouvel objet est une copie d’un
processus courant. Cette dernière approche est par exemple adoptée par le
système Unix. Elle présente l’avantage de pouvoir décomposer la création d’un
processus en deux étapes :
Une première étape concerne l’aspect parallèle avec la création d’un
processus sosie et
Une deuxième étape concerne l’aspect traitement (programme) avec la
commutation du programme exécuté par le processus sosie.
II.1.5.2. Activer
II.1.5.4. Bloquer
II.1.5.4. Débloquer
II.1.5.5. Exit
II.1.5.6. Détruire
En général, le noyau gère donc une file d’attente des processus prêts
(file simple chronologique Fifo ou à priorité) et ceux-ci passent dans l’état actif
dès qu’un processeur (et par conséquent du temps processeur) est disponible. Le
choix d’un processus dans la file détermine ce qui se passe dans le système pour
quelques centaines de millisecondes. Nous parlons donc
d’ordonnancement à court-terme.
II.2. Threads
Lorsque les threads sont gérés dans l’espace utilisateur, chaque processus a
besoin de sa propre Table Threads par contre lorsque il sont gérés par le noyau il
une seule table des threads pour la gestion.
II.4. Ordonnancement
II.4.1. Définition
Cet algorithme est basé sur une logique simple. Les programmes à
exécuter sont placés dans la file d'attente et l’ordonnanceur va alors décider
d’exécuter ces processus dans l'ordre. Pour appliquer cet algorithme, on suppose
que les temps d’exécution des différents programmes sont connus à l'avance et
sont parfaitement bornés. Cette contrainte peut sembler absurde, mais elle a un
sens dans certains cas assez rares dans lesquels on connait à l'avance le temps mit
par un programme pour s’exécuter. Dans ce cas, l'algorithme est simple : on
exécute le programme qui met le moins de temps à s’exécuter en premier. Une
fois celui-ci terminé, on le retire du fil d'attente et on recommence.
b) Algorithmes préemptifs
Shortest Remaining Time Next:
C'est une variante préemptive de l'algorithme Shortest Job First
vu au-dessus. Dans cette version, si un programme est ajouté dans la file d'attente,
on regarde le temps que ce nouveau venu mettrait à s’exécuter, et on compare
avec le temps qu'il reste au processus en cours d’exécution avant que celui-ci
finisse son travail. Si le temps mit par le nouveau programme est plus faible que
le temps d’exécution du programme en train de s’exécuter, on change et on
exécute le nouveau venu à la place.
Round-robin : Tourniquet
Cet algorithme est déjà plus proche de ceux implémentés dans les
systèmes d’exploitation actuels. La philosophie derrière cet algorithme est :
d'ordonnancer aux mieux un ensemble de programmes aux temps
d’exécutions et aux particularités disparates ;
d’exécuter en priorité les programmes rapides ;
d’exécuter en priorité les programmes qui accèdent souvent aux
périphériques.
Le principe de cet algorithme est simple : on dispose de plusieurs files d'attentes
comme celle de l'algorithme round-robin. Ces files d'attente sont classées de la
plus basse à la plus haute. Ces files d'attentes ont des priorités différentes. De
plus, le quantum de temps est différent suivant la file d'attente : la file d'attente
la plus haute a un quantum de temps très petit, tandis que la file la plus basse a
un quantum de temps élevé.
Il y a aussi des systèmes d'exploitation dits multitâches, qui sont en fait des «
multitâches coopératifs ». Quelle est la différence ? Un multitâche coopératif permet
à plusieurs applications de fonctionner et d'occuper des plages mémoire, laissant
le soin à ces applications de gérer cette occupation, au risque de bloquer tout le
système. Par contre, avec un « multitâche préemptif », le noyau garde toujours le
contrôle (qui fait quoi, quand et comment), et se réserve le droit de fermer les
applications qui monopolisent les ressources du système. Ainsi les blocages du
système sont inexistants.
Être prédictibles.
G
D
C
U
R
G
D
C
U
R
G
D
C
U
R
G
D
C
U
R
Exemple2. Les processus qui font beaucoup d'E/S (qui sont souvent en attente)
doivent acquérir le processeur dès qu'ils le demandent, a_n de leur permettre de
lancer leur requête suivante d'E/S. Lorsqu'un processus passe de l'état élu à l'état
bloqué, sa priorité est recalculée. Sa nouvelle valeur est le rapport :
quantum/temps réellement utilisé par le processus.
Les processus qui ont le plus grand rapport sont les plus prioritaires :
Si le quantum = 100 ms et le temps utilisé = 2 ms, la nouvelle priorité est 50.
Si le quantum = 100 ms et le temps utilisé = 50 ms, la nouvelle priorité est 2.
Quelques semaines plus tard, l’ordinateur pc/IBM était en passe d’être annoncé
le contact entre IBM et digital Research ne s’étant pas établi par diverses raisons
obscrures ; IBM se retourna vers la société Microsoft qui avait conçu le basic de
son Pc pour cette dernière, il n’y avait pas d’alternative : il faillait agri rapidement
donc pas question des émettre à écrire un système d’exploitation.
Suite à un accord avec Sealtle Computer, elle décida, alors d’acheter les droits du
seul système d’exploitation présent sur le Marché » mis à part CPM- 86, après
quelques aménagements, Scp-Dos devint donc Ms-Dos version1.
Le DOS (Disk operating Système à est le système d’exploitation utilisé avec les
PC. Il a été développé par Microsoft pour la firme IBM et l’ordinateur de type XT.
Il a été développé en parallèle sous 3 appellations suivant le vendeur : PCDOS
pour IBM, DR-DOS pour Novell et Ms-DOS pour toutes les autres firmes
(commercialisé par Microsoft). Ils sont équivalents, seules quelques petites
différences dans les options de commandes sont présentes.
Comme tous les systèmes d’exploitation, DOS est développé pour servir
d’interface entre l’électronique d’une part et l’utilisateur d’autre part. il n’inclut
La première version majeure est le DOS 3.0 (et son upgrade, le 3.3). Ces
versions utilisaient (tout comme les versions inférieures) des partitions
FAT de type 12 bits.
Même si la version Windows actuelles encore une interface DOS, celui-ci n’est
plus le système d’exploitation majeur. Ces fonctionnalités DOS limitées sont
surtout utilisées en commandes réseaux.
- Le module BIOS et l’interface, de Bas Niveau doit donc être pour chaque
machine.
- Le module DOS interface, de haut niveau, sera le même pour toutes les
machines. Donc les interfaces étant les mêmes (DOS identiques) ; les
applications pourront alors être d’une machine sur une autres.
Commande Fonction
EXIT Ferme la fenêtre MSDOS. (Exemple : c> exit) même fonction que
more
FC Comparaison de fichiers
Attrib Modifie les attributs d’un fichier. (Exemple : c> attrib c : \test +a)
Commande Fonction
LABEL Les symboles ^ et & peuvent être utilisés dans les noms de
volume
COMMANDE Fonction
Quelques Commandes
Commande Fonction
III.5.1. Introduction
- Les fichiers Batch sont directement éditables, donc votre code n'est pas
"protégé" à la copie par d'autres programmeurs,
- Enfin, et surtout, des opérations élémentaires comme le traitement de
chaînes de caractères, d'opérations mathématiques, etc… n'existent pas
sous DOS, ce qui implique l'usage de programmes externes (s'ils ont été
créés, selon les cas).
III.5.2. L'intérêt des scripts
Les fichiers batch, encore appelés « scripts », présentent de nombreux
avantages. L'exécution simple d'une commande plus complexe : en
s’assurant qu'une longue commande ne comporte pas de fautes (par
Une variable permet de stocker une donnée indiquée, à tous moment dans
le script on pourra faire appel à elle.
ALLUSERSPROFILE
APPDATA
CLASSPATH
CommonProgramFiles
COMPUTERNAME=
ComSpec
DEVMGR_SHOW_DETAILS
FP_NO_HOST_CHECK
HOMEDRIVE
HOMEPATH
LOGONSERVER
NUMBER_OF_PROCESSORS
OS
Path
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
ProgramFiles
PROMPT
QTJAVA
SESSIONNAME
SystemDrive
SystemRoot
TEMP
TMP
USERDOMAIN
USERNAME
USERPROFILE windir
DATE TIME
CD
Grâce aux batch il est possible de faire des opérations simples telle qu'une
addition, soustraction, multiplication ou encore division. Cela est possible avec
la commande set /a.
@echo off
echo Addition set
/a add = 5+5 echo
5 + 5 = %add%
echo.
echo Soustraction set
/a sous = 10-5 echo 10
- 5 = %sous%
echo.
echo Division set
/a div = 10/2 echo
10 / 2 = %div%
echo.
echo Multiplication
set /a mult = 10*2
echo 10 * 2 = %mult%
pause
Il est possible de donner des priorités aux opérations grâce aux parenthèses.
@echo off
echo Priorité‚ opératoire set /a pri
= ((10*5)*2 + (10*5)*2)/2 echo
((10*5)*2 + (10*5)*2)/2 = %pri%
Fonctions
Les étiquettes
La fonction étiquette permet d'intervenir sur le séquencement, typiquement votre
script va exécuter les commandes les une à la suite des autres. Pour casser tout ça
les étiquettes permettent d'accéder directement à un endroit du script.
Ce script va afficher salut à l'infini, grâce à la boucle formée avec le saut qui fait un retour sur
la directive : boucle.
La fonction If permet de définir une condition, ainsi il est possible de définir une
comparaison qui fera accepter ou non la condition.
Structures de la commande :
Exemple :
Avec des SI on pourrait mettre Paris en bouteille, démontrons que cela est
possible.
Résultat:
Affichage
les couleurs
les cadres
Nommer sa fenêtre MS-DOS
Exécution en fenêtre réduite
Effacer l'écran
Exemple
Et Bien il est possible d'intégrer cette fonctionnalité dans vos scripts grâce à la
commande " color ", c'est original .
Voici les codes de couleur utilisable sous dos vous pourrez avoir plus de détail
dans la section commande.
0 = Noir 8 = Gris
Les Cadres
Il est possible de créer des faux cadres afin d'avoir une interface plus agréable.
Pour cette section je vous recommande vivement Power batch qui possède un
assistant pour crée ces cadres.
Pour crée ces derniers il faut utiliser des caractères spéciaux, ainsi :
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
@echo ºQuel joli cadre !º @echo
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ pause
caractère « | », dont le code ASCII est 124, on appuie sur la touche <ALT> puis sur
<1>, <2> et <4> avant de relâcher la touche <ALT>.
L'explication peut sembler longue, mais la manœuvre est fort simple dès qu'on
l'a effectuée quelques fois.
Voici les codes ASCII correspondant aux caractères dont vous pourriez avoir
besoin :
Caractère ASCII code nom (anglais)
! 33 exclamation mark
# 35 number sign, square, hash
$ 36 dollar sign
% 37 percent sign &
38 ampersand
* 42 asterisk, star
/ 47 slash
< 60 lesser than sign
> 62 greater than sign
? 63 question mark
@ 64 at sign
\ 92 backslash
^ 94 circumflex accent, caret
_ 95 underscore
| 124 pipe
~ 126 tilde
Exercices
III.6. Quelques Raccourcis spécifiques à Windows
Touches de fonctions :
• F1 : aide
• F2 : renommer un fichier
• F3 : recherche de fichiers
• F5 : actualiser l'affichage
• F10 : active la barre de menus dans le programme actif
• Retour Arrière (touche au-dessus de la touche Entrée) : permet de revenir
au niveau précédent dans l'Explorateur Windows
• Maj tout en faisant glisser un élément : déplacer l'élément sélectionné
• Impr Ecran : copie de tout l'écran
• Maj (ou Shift) + Suppr : supprimer directement un fichier sans passer par
la corbeille
• Maj + F10 : remplace le clic droit
• Pour empêcher la lecture automatique du CD, appuyez au moment de
l'insertion sur Shift.
Conclusion
Nos systèmes informatiques actuels comprennent un ou plusieurs
processeurs, de la mémoire principale, des disques disque, des imprimantes, un
écran, des interfaces réseau et autres périphériques d’entrées et sorties.
Programmer des programmes qui prennent en compte l’ensemble des composants
de l’ordinateur et les utilisent correctement de façon optimal, est vraiment
complexe ou c’est une tâche extrêmement difficile.
Pour cette raison, les ordinateurs sont équipés d’une couche
logicielle appelée système d’exploitation(SE), OS en anglais dont le rôle est de
gérer tous les périphériques et fournir aux programmes d’applications ou
d’utilisateur une interface simplifiée avec le matériel (hardware). C’est bien ce qui
a était la base de notre étude.
Le système d’exploitation comme Windows, linux freeBSD ou Mac
OS x facilitent donc tous les programmes d’applications pour effectuer leurs
travaux.
EXERCICES
Questionnaires