Академический Документы
Профессиональный Документы
Культура Документы
DEXPLOITATION
Nous avons besoin d'un ensemble de programmes (un logiciel) qui permette
d'exploiter les ressources de la machine (priphriques, mmoire, processeur(s)). Ce logiciel,
c'est le systme d'exploitation (S.E.).
commandes (Shell)
Gestion du Gestion de la Gestion des Gestion de
Systme dexploitation processeur mmoire priphriques linformation
central centrale
Matriel Matriel : Processeur, Mmoire, Priphriques, .
1
1. Machine tendue (machine virtuelle, Virtual Machine)
Son rle est de masquer des lments fastidieux lis au matriel, comme les interruptions, les
horloges, la gestion de la mmoire, la gestion des priphriques (dplacement du bras du
lecteur de disque) ...etc. Cela consiste fournir des outils adapts aux besoins des utilisateurs
indpendamment des caractristiques physiques.
Exemple
READ et WRITE utilisent 13 paramtres reprsents sur 9 octets ; en retour le contrleur
renvoie 23 champs d'tat et d'erreur regroups sur 7 octets.
2. Gestionnaire de ressources
Le systme d'exploitation permet l'ordonnancement et le contrle de l'allocation des
processeurs, des mmoires et des priphriques d'E/S entre les diffrents programmes qui y
font appel, avec pour objectifs : efficacit (utilisation maximale des ressources), quit (pas
de programme en attente indfinie), cohrence (entre des accs conscutifs), et protection
(contre des accs interdits). Ce rle de gestionnaire de ressources est crucial pour les systmes
d'exploitation manipulant plusieurs tches en mme temps (multi-tches (Multitasking)).
2
Von Neumann
ENIAC
Figure 1.2 : Exemples de machines tubes
Les programmes taient crits directement en langage machine, chargs en mmoire, excuts
et mis au point partir d'un pupitre de commande (Figure 1.3). Au dbut de 1950, la procdure s'est
amliore grce l'introduction de cartes perfores.
Utilisateur Ordinateur
Pupitre
Utilisateurs en attente
Programme Lecteur
Imprimante
sur cartes de cartes
Figure 1. 3 : Utilisation de la machine en Porte Ouverte
Afin dutiliser la machine, la procdure consistait allouer des tranches de temps directement
aux usagers, qui se rservent toutes les ressources de la machine tour de rle pendant leur dure de
temps. Chaque utilisateur devait lancer un ensemble doprations qui sont :
3
2. Traitement par lots (Batch Processing, 1955-1965)
Le problme des premiers systmes tait le temps de prparation du travail qui tait trs important.
Pendant que les bandes se montaient ou que le programmeur utilisait la console, lUC restait
inactive. Ce qui engendrait des cots dindisponibilit trs importants.
Pour venir bout de ce temps inactif, on a dvelopp lenchanement automatique des travaux.
Cette technique a permis de crer les premiers SE rudimentaires. Ce quon lon dsirait, ctait une
procdure pour transfrer automatiquement le contrle dun travail un autre. A cet effet, on cre
un programme appel moniteur rsident.
Lide directrice tait de collecter un ensemble de travaux puis de les transfrer sur une
bande magntique en utilisant un ordinateur auxiliaire (Ex. IBM 1401). Cette bande sera
remonte par la suite sur le lecteur de bandes de lordinateur principal (Ex. IBM 7094) afin
dexcuter les travaux transcrits en utilisant un programme spcial (lanctre des S.E.
daujourdhui. Ex. FMS : Fortran Monitor System, IBSYS). Les rsultats seront rcuprs sur
une autre bande pour quils soient imprims par un ordinateur auxiliaire. Cette situation est
illustre la Figure 1.3.
Quand lordinateur tait allum, le moniteur rsident tait appel et il transfrait le contrle un
programme. Quand le programme finissait, il renvoyait le contrle au moniteur rsident, lequel
continuait avec le travail suivant. Ainsi, le moniteur rsident enchanait automatiquement dun
programme un autre.
Mais comment le moniteur rsident pouvait-il savoir quel programme excuter ? Rponse :
Grce aux cartes de contrle. En plus du programme et des donnes ncessaires au travail, le
programmeur introduisait des cartes spciales (les cartes de contrle) avec des directives pour le
moniteur rsident qui lui indiquaient les programmes excuter.
Par exemple, un programme utilisateur normal pouvait demander dexcuter lun des trois
programmes : le compilateur FORTRAN (FTN), lassembleur (ASM) ou le programme de lutilisateur
(RUN). On peut utiliser une carte de contrle pour chacun deux (figure 1.4).
On peut utiliser deux cartes de contrle supplmentaires pour dfinir les limites de chaque
travail :
Carte perfore
$END
Donnes
$RUN
$LOAD
Programme
$FTN
$JOB, 10, 429754, E1
5
Programmeurs
Ordinateur principal
Lecteur de cartes
Disque entres
Mmoire principale
Systme
Programme 1
Oprateur
Programme 2
Programme N
Disque sorties
Imprimante
Programmeurs
Exemple
Soient les deux programmes A et B suivants :
Job A
Job B
Calcul E/S Calcul E/S
CPU
Job A Job A Job B Job B
Temps de rponse de A
Temps de rponse de B
6
Dans un systme multiprogramm
CPU
Job A Job B Job A
Temps de rponse de A
Temps de rponse de B
Utilisateurs Programmeurs
Ordinateur principal
Mmoire principale
Systme
Programme 1
Programme 2
Programme N
Ingnieur
Lobjectif est doffrir aux usagers une interaction directe avec la machine par
lintermdiaire de terminaux de conversation, et de leur allouer le processeur successivement
durant un quantum de temps. Chaque utilisateur pourra contrler le job quil a soumis
directement partir du terminal (corriger les erreurs, recompiler, resoumettre le job, ).
Comme le systme commute trs vite dun utilisateur un autre, chaque utilisateur a
limpression quil possde son propre ordinateur, alors quen ralit lordinateur est partag
entre plusieurs utilisateurs.
7
Parmi les premiers systmes temps partag, nous citons : CTSS (Compatible Time
Sharing System), MULTICS (MULTiplexed Information and Computing Service), UNIX,
MINIX, LINUX. En fait, la plupart des systmes daujourdhui sont en temps partag.
8
- Partage de ressources : Si plusieurs sites diffrents (avec des possibilits diffrentes),
sont connects entre eux, un utilisateur dans un site doit tre capable dutiliser les ressources
disponibles dans un autre site. Par exemple, un utilisateur dans un site A peut imprimer sur
une imprimante laser disponible sur un site B. De mme quun utilisateur dans B peut
accder un fichier rsident dans A.
- Acclration du calcul : Si lon peut subdiviser un traitement particulier en plusieurs
sous traitements pouvant sexcuter en concurrence, un systme rparti doit nous permettre de
distribuer le traitement entre les diffrents sites.
- Fiabilit : si un site tombe en panne dans un systme rparti, les sites restant peuvent
continuer fonctionner.
- Communication : les utilisateurs peuvent dclencher des transferts de fichiers ou
communiquer entre eux travers le courrier lectronique, par exemple.
8. Les systmes temps rel :
Les systmes temps rel sont une autre forme de SE spcialiss. Un systme temps
rel est utilis quand il existe des exigences imprieuses de temps de rponse pour le
fonctionnement dun processeur ou pour le jeu de donnes. Il est souvent employ comme
dispositif de contrle dans une application ddie. Les capteurs amnent des donnes
lordinateur. Celui-ci doit analyser les donnes et ventuellement rgler les contrle pour
modifier les entres des capteurs.
Exemple de systme temps rel : systmes contrlant les exprimentations
scientifiques, les systmes dimagerie mdicale, les systmes de contrle industriel.
Un systme dexploitation temps rel possde des contraintes de temps fixes. Le
traitement doit tre effectu dans les contraintes dfinies.
9
VI. Interactions Utilisateur/Systme
Pour un utilisateur, le systme d'exploitation apparat comme un ensemble de
procdures, trop complexes pour qu'il les crive lui-mme. Les bibliothques des appels
systme sont alors des procdures mises la disposition des programmeurs. Ainsi un
programme C/C++ peut utiliser des appels systme d'Unix/Linux comme open(), write() et
read() pour effectuer des Entres/Sorties de bas niveau.
10
Une version gratuite d'Unix porte le nom de Linux (code source disponible). Elle a t
cre par Linus Torvalds en 1991. Par la suite, un grand nombre de programmeurs ont
contribu son dveloppement acclr. Conu d'abord pour tourner sur des machines avec
le processeur 80x86, Linux a migr plusieurs autres plate-formes.
11
Commandes
ls, cat, cp, rm,
Chown, adduser,
Librairie: stdio.h Grep, find, etc.
Scanf, printf, Shell
fopen, fclose (sh, csh, bash)
Putc, getc, etc. Les appels ystme
(SGF, Processus, etc.)
open fork
Autres librairies read exec
Mathmatique
write pipe
Graphique
etc. close
Utilitaires
Compilateurs (cc, gcc)
Table des fichiers Matriel Table des
ouverts processus
Editeurs (vi, emacs),
etc.
Noyau
X Window
(startx, xterm, etc.)
C. Le Shell
Le shell dsigne linterface utilisateur sous UNIX. Cest un programme qui permet
l'utilisateur de dialoguer avec le noyau. Il joue un double rle celui dinterprteur de
commandes et celui de langage de programmation. Il existe plusieurs shells diffrents mais
les plus rpondus sont:
le Bourne Shell : sh
le C-shell : csh
le Korn-Shell : ksh
Bash (Bourne Again Shell) : est un interprteur (Shell) compatible sh qui excute les
commandes lues depuis l'entre standard, ou depuis un fichier. C'est le shell par
dfaut sous Gnu/Linux.
D. Utilitaires
UNIX est livr avec un grand nombre de programmes utilitaires, parmi lesquels :
Compilateurs : cc, gcc
Gestionnaire dapplications : make
Editeurs de texte : vi, emacs
Caractristiques
Les principales caractristiques, auxquelles est d le succs dUNIX, sont :
12
Portabilit : Une des premires caractristiques dUnix est son criture ( hauteur de
95%) en langage C, permettant ainsi une portabilit sur la plupart des architectures en
allant des micro-ordinateurs jusquaux supercalculateurs.
Multi-utilisateurs et Multitches : Plusieurs utilisateurs peuvent accder
simultanment au systme ; chaque utilisateur peut effectuer une ou plusieurs tches
en mme temps.
Temps partag : cest--dire que les ressources du processeur et du systme sont
rparties entre les utilisateurs.
Interface utilisateur interactive (shell) : elle est constitue dun programme spar
du noyau permettant lutilisateur de choisir son environnement de travail. Elle
intgre un langage de commandes trs sophistiqu (scripts).
Systme de fichiers hirarchique : plusieurs systmes de fichiers peuvent tre
rattachs au systme de fichiers principal ; chaque systme de fichiers possde ses
propres rpertoires.
Entres-Sorties intgres au systme de fichiers : les priphriques sont reprsents
par des fichiers, ce qui rend le systme indpendant du matriel et en assure la
portabilit ; laccs aux priphriques est donc identique laccs aux fichiers
ordinaires.
Gestion de la mmoire virtuelle : un mcanisme dchange entre la mmoire centrale
(MC) et le disque dur permet de pallier un manque de MC et optimise le systme.
Rfrences (chapitre 1)
1. Chafika BENZAID, "COURS SYSTEMES D'EXPLOITATION (PARTIE I)", LSI-
Dpartement Informatique, Facult dElectronique & Informatique, USTHB
2. Loukam mourad, , "Systmes dexploitation des ordinateurs", chapitre 1.
13
A. Silberschatz, P. B. Galvin, "Principes des Systmes dExploitation", traduit par
M. Gatumel, 4me dition, Editions Addison-Wesly France, SA, 1994.
M. GRIFFITHS, M. VAYSSADE, "Architecture des Systmes dExploitation", Edition
Herms, 1990.
S. KRAKOWIAK, "Principes des Systmes dExploitation des Ordinateurs", Editions
DUNOD, 1987.
14
15