Contenu connexe
Similaire à Cours système d'exploitation
Similaire à Cours système d'exploitation (20)
Plus de Amel Morchdi (20)
Cours système d'exploitation
- 1. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Références bibliographiques
l Leila baccouche, Au cœur des systèmes
Cours Système d’exploitation d’exploitation ; édition CPU. Tunis 2003
l Silberschatz A. Principes appliqués des
systèmes d’exploitations vuibert Paris 99
Niveau : GL2 & IIA2 l Tanenbaum A. Architecture de l’ordinateur,
Enseignant : Mona LAROUSSI cours et exercices 4e édition Dunod Paris
Bureau : 4 A8-28 2001
E-mail: mona.laroussi@insat.rnu.tn l Mohamed said ouerghi, Principe des
systèmes d’exploitation, édition CPU Tunis
2003
http://www.slideshare.net/secret/mXzhZp1rTxohC6
Plan
Calendrier des Cours
l Chapitre 1: Introduction (Matériel, Système d’exploitation)
l Chapitre 2: Gestion des processus (ordonnancement, état, l COURS
critères, algorithmes, etc.)
l Chapitre 3: Communication et synchronisation interprocessus l Le mardi de 8:00 à 9:30 ( GL)
(communication, synchronisation, interblocage)
l Chapitre 4: Gestion de la mémoire (Partition contiguë, l Le mardi de 9:45 à 11:15 (IIA2)
multiprogrammation, pagination, segmentation, etc.)
l Chapitre 5: Mémoire virtuelle (pagination et segmentation à la l TD
demande)
l Chapitre 6: Gestion des systèmes de fichiers (répertoire et nom, l
types d’objets, types d’informations, etc.)
l Chapitre 7: Gestion de périphériques
l Chapitre 8: Sécurité
1
- 2. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Chapitre 1: Introduction Ordinateur
l Un ordinateur est une machine électronique
qui permet l'exécution des programmes
Ordinateur (cont.)
Les composants internes
l Un ordinateur est composé au
l Un programme est un ensemble
moins de :
d'instructions qui seront traduites en signaux
l processeur
électriques
l carte mère
l La sortie de ces programmes est convertie à l mémoire vive
nouveau pour que l'utilisateur puisse la l mémoires de masse
comprendre l périphériques
Hardware X Software
2
- 3. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Carte Mère
Processeur
l C'est le “cerveau” de l'ordinateur, il contient
l Elle relie les différents composants d'un
différents composants responsables pour
ordinateur, à travers un « bus »
l'interprétation des instructions et le calcul
l La carte mère est aussi responsable de
contrôler l'accès aux
différents types
d'entrée et de sortie
La mémoire vive (RAM) Les mémoires de masse
l Utiles quand on doit sauvegarder les données
l Pour travailler avec plusieurs données, le d'une façon persistante (par exemple, quand
processeur doit utiliser une mémoire auxiliaire l'ordinateur est éteint)
pour sauvegarder temporairement les données l Disque dur, disquette, Clé USB, CD-ROM, etc.
l Plus lentes que la mémoire vive
l La mémoire RAM (Random Access Memory) est
une mémoire volatile, c'est-à-dire qu'elle ne peut
garder des informations que si elle est alimentée
électriquement
3
- 4. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Les périphériques d'entrée et sortie Logiciels (Software)
l Les logiciels
l Ce sont les composants qui permettent à
l le système
l'ordinateur de communiquer avec l'extérieur
d'exploitation
(utilisateur ou autre ordinateur)
l les applications
l Périphériques d'entrée : clavier, souris, carte
réseau, mémoires de masse, etc.
l Périphériques de sortie : écran, imprimante, carte Applications
réseau, mémoires de masse, etc.
Système d’exploitation
Hardware
Systèmes d'exploitations Abstraction
l angl. « Operating System (OS) »
l Cacher la complexité des machines pour
l Qu'est-ce que c'est? l'utilisateur afin d'utiliser la machine sans savoir
« Programme assurant la gestion de l'ordinateur et ce qui est derrière
de ses périphériques »
[www.dicofr.com]
l Abstraction du terme « Machine » selon Coy:
l A quoi ca sert?
l machine réelle = Unité centrale + périphériques
l à simplifier la vie des utilisateurs et des
programmeurs l machine abstraite = machine réelle + système
d'exploitation
l à gérer les ressources de la machine d'une
manière efficace l machine utilisable = machine abstraite +
application
4
- 5. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Exigences à un Système d'exploitation et i l i u ' lds
ur
a
s t gx ei
E
n
e
c
às Glé
ét i a én
r à « Faut que ça marche ! »
apslsr esrs i l i usl eàas iS
mme t et
oe u u
grr a te r i f a t (comme j'en ai envie ...)
écu,odéiv3De
Cs ,ad DGr
De u o 2,ré
lé, i à ,
D ,
V
ar
D
. .U B
.S,
- imu )a i t i ( srs i l iàt srul
t>l- sn
- tr
é et
ua ue s uiP à « Ça imprime pas ... »
srs i l i u
et
ua t
ebàe rê
l et e t
nx
i
s
e)eiai à iMa
n(es l u c
mab tei
d cl
uh
é
tn =h
n
oxto slesle
ceesupup
mpgà nD
:el r
ea i, f i uéàc i fE
elt
n
ma t o a f
b
n ve
l ,
aruxu
ods r
mme
gei
pE
rg
nc
e oi t niQe
n i ds
s qu
él
u
fe
alduu ' l ei fmp
eras rà Sl
ex
ca
oè
sc ii l Poes
r u
cs
ma
:nc
ei
h l Ta meta o
ri np r t
t
e ls
,eh u hié ,s e
src i f qipàp oMé i
i eé r c ,r
,
s r e mo
p
u
r
nncgucn
et orr, as
e iap t ,
r mmu
mme
oa i
nr
éx
e
si l S tmeMu tc e
y s tah
è
s l
i
-
éi f u eooed
n tap i è
à mp l
i ern t
mma
gd
rMo
ile
s l S tmeMu u tu
y s ta r
è
s l te s
ii
-ls
l S tmeMu p ce r
y s t r eu
è
s l o s s
i
-
as udé c f
celota t à i fE
s sn a
s c i
l S tmetmp é l
y se sr
è
s e
l S tmed us
y st é
è
s r
i
s
i
b
à eec
nnh
Ma
dei
u
ét
=
5
- 6. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
l U u tu dnepi r
n a r on u u
te s
i
l
s l s
e
s
cmmad s( « Jobs ») dans une queue
o ne
d'éxécution de programmes
l Entièrement séquentielle
l p.ex. pour faire plusieurs calculs pendant
la nuit
l p.ex. autoexec.bat
Définitions: Définitions:
Systèmes Multi-tache (Multitasking) Systèmes Multi-processeurs
l système avec plusieurs processeurs
l Assurer l'éxécution de plusieurs l parallèle
programmes en meme temps (c-à-d. l vrai multi-tache
plusieurs processus) l doit assurer qu'il y a l'éxecution d'autant de processus que
processeurs en meme temps
l contrairement: système avec un seul processeur
quasi-parallèle
l Chaque processus a besoin du l
l arreter et reprendre les différentes processus
processeur l Gestion avec le « scheduler » (ordonnancement des processus)
l situation concurrente
l solution: « scheduling »
- 7. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Définitions: Définitions:
Systèmes Multi-utilisateurs (« time-sharing ») Multi-utilisateurs
l permettre a différentes personnes de travailler avec l Login
un ordinateur en même temps
l connexion par
l via le terminal de l'ordinateur lui-même l Type:
l à distance (telnet, ssh, ftp, ...)
l Administrateur (« root »)
l donner l'impression à chaque utilisateur qu'il est seul
l exige une géstion des droits l Groupes
l de fichiers (pour éviter la destruction des fichiers etc.) l Utilisateurs
l de processus
l pour gérer les droits
Définitions: Définitions:
Systèmes Temps réels Systèmes distribués
l Sert pour le pilotage et le contrôle des déroulements l doit permettre l'éxecution d'un seul
externes (p.ex. centrale électrique) programme sur plusieurs machines
l doit garantir des temps de réactions données pour des
signaux extérieur urgents l distribuer les processus et les remettre
ensemble
l plusieurs systèmes d'exploitations n'y arrivent pas car
l'interruption de certaines activités met le système dans l pour gros calculs, p.ex. inversion de grandes
un état instable
matrices
7
- 8. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
SE: Modèle en couches Ingrédients
l Gestion de la mémoire
Application (Logiciel, p.ex. Microsoft Word) l Gestion des fichiers
Gestion des fichiers l Gestion des processus
l Gestion des périphériques (entrées/sorties)
Gestion des périphériques (entrées/sorties)
l Contrôle des péripheriques via « Pilotes » (Driver)
Gestion des processus
l Quelques logiciels
Gestion de la mémoire l Logiciels utilitaires (ls, pwd, format, ...)
Noyau du Système d’exploitation l Logiciels d'application (Bloc-notes, ...)
Pilote Pilote Pilote l Logiciels de communication (Internet Explorer, ...)
Matériel
Historique (avant les Systèmes
d'Exploitations) oi at oess
n t i èt'
s xd py
me
S
l
1945 - 55 : tubes et interrupteurs l C / ( p i 9 4 D il e a h
P M d u1 7) it R e r
e s ,g a s c
oi at oedes
n t à i psP
xy a
lme
ètd
'
é fpstc srt a t :65
e e a ,osn 1
sr r
oe
r is -5
r 5 9 l U I( p i 9 - 9 9 p mi p r
NX d u1 6 1 7 ) r e a
e s 9 ,e r
soà et a
tl p n
mer
ai
r t
T A&
T T
qd éni st cr c :85
ss ,g u i 1
ui st
e ér i -6
0
9 l MS D S( p i 9 1 Miof
- d u1 8 ) c o
O e s , rt s
ei tose atpp,iMu
s s/rne arnitt l
re t àéoo
é g mma
mp
, rr
s
g-
P fStA&, , n
aXnoD x i
OeBTe U
c r Ss,
e I à iv
nT
i r
l MaO ( p i 9 4 A p
c S d u1 8) pe
e s , l
P snetd : 1
Cnl u r 9
( )psr io --8
or n
se a
e 0 l Wi o ( p i 9 1 Miof
n w d u1 9 ) c o
ds e s , rts
dat1sré c(tuàafet I
)rS9ee oqgc rn
of 6v c n a e
n 0 r ce
, ep ph r
i l Lu ( p i 9 2 O eS u e
i x d u1 9, p no r
n e s ) c
bàr sdRsx
ui tmeeu
é èssé
s y te
t a
i
eni i at ome
ré t iè> -
o etd
é
c
n xy
a S'-
s p
ls
8
- 9. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
S tmee pit s
y s' oi
è d lo
s xt n
a
l C / ( p i 9 4 D il e a h
P M d u1 7) it R e r
e s ,g a s c l U I( p i 9 - 9 9 A &
NX d u1 6 1 7 ) T T
e s 9 ,
l G o d du d r map s
en e q e u
t
i
s s
i , sai l as r d mo è pu MS D S
e ie d e o r - ,
v l O
dro c ne
a rsec
'b e Wio, .
n w.
ds
l P s eg p me
a d r h
a s
i l Mut h eMuu tus
- e t -a r
tc
i
lâ t se
it
lil
l Ee e
xmp :
l l ac s tn a xf e pr e u ,
cè aé u c i,é h r e
mu
i l
s i r p q s
hs i i
l C U8 8 , MH
P 08 2 z mé r,r eu .
mo p ce r .
i o s ,
e s
l 6 K d RM
4O e A l Po cnmé r : uu p g mme
reo mo a c n r r
tt i i
e o a
l5 MO d du d r
e qe u
s
i n p ufr p n r yme
e e t i at est
a lel è
e s
l y med f e hrr q e
st s ec is é c i
è
s i r ia hu
h
l c aod Mu h
f ll e r y
. i p l G I- n os
U X Wi w
d
S tmee pit s
y s' oi
è d lo
s xt n
a S tmee pit s
y s' oi
è d lo
s xt n
a
l MS D S( p i 9 1 Miof
- d u1 8 ) c o
O e s , rts l MaO ( p i 9 4 A p
c S d u1 8) pe
e s , l
l p mi G I
r e U
e r
- 10. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Systèmes d'exploitations
l Wios. 1
n w3 1
d l Linux (depuis 1992), OpenSource
l pse
a mu c e p s emu u tu
d t h ,a
l
i
â d ta r
l te s
ii
-sl l finlandais Linus Thorwald
l Wios 5
n w9
d
l multi-tâche
l Licence GPL (General Public Licence) –
l p mi y me2 i
r es t 3 b
e rs è t OpenSource
l Wios 8
n w9
d l Multi-tâche et Multi-utilisateurs
l Irt g dn GI
n n i r as U
t et é e
e n e l
l Pg P y
u & a
l l
l Distributions
l p rè met n os T
a le n dwN
al Wi l Red Hat
l y mee pit r a x
st d o i é u
s
è ' l o e
xt n s
a multi-utilisateur l Fedore
l Wios0 0 ears n osP
n w2 0 , t p Wi wX
d è d l S.u.S.e
l j a e n y mee pit sé a x t
u lg et s t d o i r u e
me r s
eè ' l o e
xt ns
a « stand-
l Debian
alone »
l Mandrake..
Modèle en couches Modèle en couches
Application (Logiciel, p.ex. Microsoft Word) Application (Logiciel, p.ex. Microsoft Word)
Gestion des fichiers Gestion des fichiers
Gestion des périphériques (entrées/sorties) Gestion des périphériques (entrées/sorties)
Gestion des processus Gestion des processus
Gestion de la mémoire Gestion de la mémoire
Noyau du Système d’exploitation Noyau du Système d’exploitation
Pilote Pilote Pilote Pilote Pilote Pilote
Matériel Matériel
- 11. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Modèle en couches Chapitre 1. Introduction
1.2 Rappel sur le fonctionnement de l'UC
Application (Logiciel, p.ex. Microsoft Word) * appel de sous- programme
branchement et conservation de l'adresse de retour
Gestion des fichiers
objectif : pouvoir appeler une séquence
Gestion des périphériques (entrées/sorties) d'instructions de plusieurs endroits
Gestion des processus moyen :
conservation de l'adresse de retour (= lecture du
Gestion de la mémoire
CO )
Noyau du Système d’exploitation branchement (= écriture du CO )
Pilote Pilote Pilote
Matériel passage de paramètres :
convention entre l' appelant et l'appelé (sys +lg)
Chapitre 1. Introduction Chapitre 1. Introduction
1.3 rappels sur les interruptions
1.3 rappels sur les interruptions
cycle de l'UC avec interruption
interruption
un agent extérieur ( périphérique ou canal)
interrompt l'UC pour lui faire exécuter une partie
d'un autre processus as: adresse sauvegarde CO
ai : adresse 1ère instruction à exécuter sur interruption
déroutement: IP : booléen vrai ssi interruption présente
même technique, mais la commutation est due au IA : booléen vrai ssi traitement interruption autorisé
processus en cours ( div par zéro, protection
mémoire)
11
- 12. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Chapitre 1. Introduction Chapitre 1. Introduction
cycle de l'UC avec interruption 1.4 rappels sur les E/S
répéter E/S = transfert d'information
RI := Mem[CO];
entre mémoire centrale (et/ou UC) et périphérique
CO :=CO + 1;
éxécuter (RI);
si (IP et IA) alors * une instruction de l'UC initialise ces transferts
début avec adresse mémoire, adresse périphérique, sens,
Mem[as] :=CO; longueur (plus ou moins explicitement)
CO :=ai;
IP := IA := faux;
* sur gros ordinateur, un organe autonome le canal
fin ;
conduit ces transferts et prévient l'UC en fin d'E/S .
jusqu'à faux;
Chapitre 2. Typologie des systèmes Phase 1: Les débuts
2.1 systèmes séquentiels avec E/S synchrones l Au début, on a observé qu`il y avait des
2.2 systèmes séquentiels avec E/S synchrones + fonctionnalités communes à tous les
"faux" périphériques programmes
2.3 systèmes séquentiels avec E/S asynchrones
l il fallait les pré-programmer et les fournir
2.4 systèmes avec multi-programmation
au programmeur à moyen d`instructions
2.5 systèmes multi-processeurs
2.6 systèmes distribués
d` appel:
l amorçage du système
l entrée/sortie
12
- 13. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Phase 2: Systèmes de traitement Un ordinateur principal (mainframe)
par lots (batch) simples du milieu des annnées ‘60
disques
l Sont les premiers SE (mi-50)
UCT
l L’usager soumet une job à un opérateur (mémoire probablem.
rubans autour de 250-500K)
l Programme suivi par données
l L’opérateur place un lot de plusieurs jobs sur le
dispositif de lecture lecteur de cartes
console opérateur
l Un programme, le moniteur, gère l'exécution de
chaque programme du lot
l Le moniteur est toujours en mémoire et prêt à être
exécuté
l Les utilitaires du moniteur sont chargés au besoin
l Un seul programme à la fois en mémoire, programmes
sont exécutés en séquence
l La sortie est normalement sur un fichier, imprimante, ruban
magnétique… Musée de l’histoire de l’informatique http://www.computerhistory.org/
Opérateur lisant un paquet de
Oui, cartes perforées…
cartes perforées
Une ligne de données ou de programme était codée
dans des trous qui pouvaient être lus par la machine
Source: http://www.tietokonemuseo.saunalahti.fi/eng/kuva_32_eng.htm
Finnish Data Processing Museum Association
13
- 14. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Langage de contrôle des travaux (JCL) Langage de contrôle des travaux
$JOB
(JCL)
l Utilisé pour contrôler l ’exec d ’une job
l le compilateur à utiliser $FTN l L’E/S est déléguée au moniteur
l indiquer où sont les données
... l Chaque instruction d’E/S dans pgm usager
l Exemple d’une job:
l paquet de cartes comme suit:
Programme
l $JOB début FORTRAN invoque une routine d’E/S dans le moniteur:
l $FTN charge le compilateur FORTRAN et ... l s’assure de ne pas lire une ligne JCL
initie son exécution
$LOAD
l $LOAD charge le pgm objet (à la place du l un usager ne peu pas interférer avec les E/S
compilateur) $RUN
l $RUN transfère le contrôle au programme ... d`un autre usager…
usager
Données l Quand le programme usager se termine, la
l les données sont lues par le moniteur et
passées au progr. usager ...
$END
prochaine ligne de JCL est lue et exécutée
$JOB par le moniteur.
...
(job suivant)
Le moniteur par lots Caractéristiques désirables du matériel (1)
l Lecture de cartes perforées
l Interprétation de commandes JCL l Protection de la mémoire
l Lecture (load) d’une job (du lecteur de cartes)
l ne pas permettre aux pgms usager d’altérer
l Chargement en mémoire (dans la région de
l’usager) de cette job la région de la mémoire où se trouve le
l Transfère le contrôle au programme usager (job
sequencing)
moniteur
Exécution du programme usager jusqu’à:
l
l fin du programme
l Minuterie
l E/S l limite le temps qu`une job peut exécuter
l erreur
l À ce point, le moniteur reprend le contrôle l produit une interruption lorsque le temps est
l Pour le redonner plus tard au même écoulé
programme ou à un autre programme
Stallings
14
- 15. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Caractéristiques désirables du matériel (2) Les systèmes par lots
l Instructions privilégiées l Ont été les premiers systèmes d`exploitation.
l exécutables seulement par le moniteur l Ils sont associés aux concepts suivants:
l une interruption se produit lorsqu’un programme usager l langage de contrôle de travaux (JCL)
tente de les exécuter l système d ’exploitation résident en mémoire
l UCT peut exécuter en mode moniteur ou mode usager l kernel = noyau
l Les instructions privilégiées ne peuvent être exécutées que en l protection de mémoire
mode moniteur
l l ’usager ne peut exécuter que en mode usager l instructions privilégiées
l seulement le SE ou une interruption peuvent changer de mode l modes usager-moniteur
l Interruptions l interruptions
l facilitent le transfert de contrôle entre le système l minuterie
d ’exploitation, les opérations d`E/S et les programmes l Toutes ces caractéristiques se retrouvent dans les
usagers systèmes d’aujourd’hui
l Le mode moniteur sera plus souvent appelé mode l Encore aujourd’hui on parle de jobs ‘par lots’ quand ils
superviseur sont exécutés séquentiellement sans intervention
humaine
Traitement par lots
Traitement par lots multiprogrammé
multiprogrammé
l Les opérations E/S sont extrêmement l Si la mémoire peut contenir +sieurs
lentes (comparé aux autres instructions) pgms, l’UCT peut exécuter un autre
l Même avec peu d’E/S, un programme pgm lorsqu’un pgm attend après E/S
passe la majorité de son temps à l C’est la multiprogrammation
attendre
l Donc: pauvre utilisation de l’UCT
lorsqu’un seul pgm usager se trouve en
mémoire
[Stallings] [Stallings]
15
- 16. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Plusieurs programmes en mémoire Exigences pour multiprogrammation
pour la multiprogrammation
l Interruptions
l afin de pouvoir exécuter d’autres jobs lorsqu’un job attend
après E/S
l Protection de la mémoire: isole les jobs
l Gestion du matériel
l plusieurs jobs prêts à être exécutées demandent des
ressources:
l UCT, mémoire, unités E/S
l Langage pour gérer l’exécution des travaux:
interface entre usager et OS
l jadis JCL, maintenant shell, command prompt ou
semblables
Spoule ou spooling Équilibre de travaux
l S`il y a un bon nombre de travaux à exécuter, on peut chercher à
obtenir un équilibre
l Travaux qui utilisent peu l`UCT, beaucoup l ’E/S, sont appelés
l Au lieu d ’exécuter les travaux au fur et à tributaires de l`E/S
mesure qu’ils sont lus, les stocker sur l Nous parlons aussi de travaux tributaires de l ’UCT
l Le temps d`UCT non utilisé par des travaux trib. de l ’E/S peut
une mémoire secondaire (disque) être utilisé par des travaux trib. de l ’UCT et vice-versa.
l L ’obtention d`un tel équilibre est le but des ordonnanceurs à long
terme et à moyen terme (à discuter).
l Puis choisir quels programmes exécuter l Dans les systèmes de multiprog. on a souvent coexistence de
travaux longs et pas urgents avec travaux courts et urgents
et quand l Le SE donne priorité aux deuxièmes et exécute les premiers
l Ordonnanceur à long terme, à discuter quand il y a du temps de machine disponible.
16
- 17. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Chaque terminal a sa propre partition de
Phase 3: Systèmes à temps partagé (TSS) mémoire
Terminaux
‘stupides’
ordinateur principal
(mainframe)
Systèmes à temps partagé
Systèmes à temps partagé (TSS)
(TSS)
l Le traitement par lots multiprogrammé ne supporte pas
l’interaction avec les usagers l Le temps de réponse humain est lent:
l excellente utilisation des ressources mais frustration des supposons qu`un usager nécessite, en
usagers! moyenne, 2 sec du processeur par minute
l TSS permet à la multiprogrammation de desservir plusieurs
usagers simultanément d’utilisation
l Environ 30 usagers peuvent donc utiliser le
l Le temps d ’UCT est partagé par plusieurs usagers système sans délais notable du temps de
réaction de l’ordinateur
l Les usagers accèdent simultanément et interactivement au
système à l’aide de terminaux l Les fonctionnalités du SE dont on a besoin
sont les mêmes que pour les systèmes par
lots, plus
l la communication avec usagers
l le concept de mémoire virtuelle pour faciliter la
gestion de mémoire
17
- 18. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
MULTICS et UNIX Ordinateurs Personnels (PCs)
l MULTICS a été un système TSS des l Au début, les PCs étaient aussi simples
années 60, très sophistiqué pour son que les premiers ordinateurs
époque l Le besoin de gérer plusieurs applications
l Ne réussit pas à cause de la faiblesse du en même temps conduit à redécouvrir la
matériel de son temps multiprogrammation
l Quelques unes de ses idées furent l Le concept de PC isolé évolue
reprises dans le système UNIX maintenant vers le concept d ’ordinateur
de réseau (network computer), donc
extension des principes des TSS.
Aujourd’hui Retour aux concepts de TSS
Terminaux n Plusieurs PC (clients) peuvent être
‘intelligents’ (PCs)’ desservis par un ordi plus puissant
(serveur) pour des services qui sont trop
complexes pour eux (clients/serveurs,
bases de données, telecom)
n Les grands serveurs utilisent beaucoup
des concepts développés pour les
systèmes TSS
ordinateur principal
(mainframe ou serveur)
18
- 19. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Et puis… Évolution des SE
l Systèmes d’exploitation répartis:
l Le SE exécute à travers un ensemble de
machines qui sont reliées par un réseau
l Pas discutés dans ce cours
(fig. mise à jour par rapport
à votre livre)
Systèmes parallèles (tightly
Une synthèse historique coupled)
Mainframes et grands serveurs
Multics et beaucoup d`autres l Le petit coût des puces rend possible
(1960s) leur composition dans systèmes
Unix Ordinateurs Personnels multiprocesseurs
(1970)
l Les ordinateurs partagent mémoire,
MS-DOS horloge, etc.
(1981)
Mac/OS
(1984) l Avantages:
Windows NT Windows l plus de travail fait (throughput)
Linux (1988) (1990)
Solaris (1995)
(1991) l plus fiable:
Windows 2000 l dégradation harmonieuse (graceful degradation)
Windows XP
19
- 20. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Systèmes parallèles Systèmes distribués ( = répartis)
l Symétriques l Les réseaux d ’ordinateurs sont en
l Tous les UCTs exécutent le même SE pleine émergence...
l Elles sont fonctionnellement identiques l Systèmes multiprocesseurs faiblement
l Asymétrique couplés (loosely coupled)
l Les UCTs ont des fonctionnalités l consistent d ’ordinateurs autonomes, qui
différentes, par exemple il y a un maître et communiquent à travers lignes de
des esclaves. communication
l Aujourd’hui, tout ordinateur puissant est
un système parallèle.
Systèmes distribués ( = répartis) Systèmes à temps réel
l SE répartis l Doivent réagir à ou contrôler des événements
externes (p.ex. contrôler une usine). Les
l il y a un SE qui fonctionne entre ordinateurs délais de réaction doivent être bornés
l l ’usager voit les ressources éloignées l systèmes temps réel souples:
comme si elles étaient locales l les échéances sont importantes, mais ne sont pas
l SE en réseau (network operating critiques (p.ex. systèmes téléphoniques)
systems) fournissent: l systèmes temps réel rigides (hard):
l le échéances sont critiques, p.ex.
l partage de fichiers (systèmes client- l contrôle d’une chaîne d`assemblage
serveur) l graphiques avec animation
l patrons de communication (protocoles)
l autonomie des ordinateurs
20
- 21. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Concepts importants du Chapitre
n Processus
u Création, terminaison, hiérarchie
Gestion de Processus n États et transitions d’état des processus
n Process Control Block
n Commutation de processus
Chapitre 3 u Sauvegarde, rechargement de PCB
n Files d’attente de processus et PCB
n Ordonnanceurs à court, moyen, long terme
n Processus communicants
u Producteurs et consommateurs
Processus et terminologie Création de processus
(aussi appelé job, task, user program)
l Concept de processus: un programme en l Les processus peuvent créer d’autres
exécution processus, formant une hiérarchie
l Possède des ressources de mémoire, périphériques, etc
(instruction fork ou semblables)
l Ordonnancement de processus
l Opérations sur les processus
l Processus coopérants
l Processus communicants
21
- 22. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Terminaison de processus Arbre de processus en UNIX
l Un processus exécute sa dernière
instruction
l pourrait passer des données à son parent
l ses ressources lui sont enlevées
l Le parent termine l’exécution d’un fils
(avortement) pour raisons différentes
l le fils a excédé ses ressources
l le fils n`est plus requis
l etc.
État de processus Diagramme de transition d`états
IMPORTANT d`un processus
l Au fur et a mesure qu’un processus
exécute, il change d’état
l nouveau: le processus vient d ’être créé
l exécutant-running: le processus est en train
d ’être exécuté par l ’UCT
l attente-waiting: le processus est en train
d ’attendre un événement (p.ex. la fin d ’une
opération d ’E/S)
l prêt-ready: le processus est en attente
d’être exécuté par l ’UCT
l terminated: fin d ’exécution
Ordonnanceur = angl. scheduler
22
- 23. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
États Nouveau, Terminé: Transitions entre processus
l Nouveau
l Le SE a créé le processus l Prêt → Exécution
l a construit un identificateur pour le processus
l a construit les tableaux pour gérer le processus
l Lorsque l ’ordonnanceur UCT choisit un
l mais ne s’est pas encore engagé à exécuter le processus pour exécution
processus (pas encore admis) l Exécution → Prêt
l pas encore alloué des ressources
l Résultat d’une interruption causée par un
l La file des nouveaux travaux est souvent appelée
spoule travaux (job spooler) événement indépendant du processus
l Il faut traiter cette interruption, donc le
l Terminé:
processus courant perd l’UCT
l Le processus n ’est plus exécutable, mais ses l Cas important: le processus à épuisé son intervalle de
données sont encore requises par le SE temps (minuterie)
(comptabilité, etc.)
Transitions entre processus Sauvegarde d’informations processus
l En multiprogrammation, un processus exécute sur
l Exécution → Attente l ’UCT de façon intermittente
l Lorsqu’un processus fait un appel de l Chaque fois qu’un processus reprend l ’UCT
système (interruption causée par le processus lui- (transition prêt → exécution) il doit la reprendre dans
même) la même situation où il l’a laissée (même contenu de
registres UCT, etc.)
l initie une E/S: doit attendre le résultat
l Donc au moment où un processus sort de l’état
l a besoin de la réponse d’un autre processus
exécution il est nécessaire de sauvegarder ses
l Attente → Prêt informations essentielles, qu’il faudra récupérer quand
l lorsque l'événement attendu se produit il retourne à cet état
23
- 24. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
PCB = Process Control Block: Process Control Block (PCB)
Représente la situation actuelle d ’un processus, pour le
reprendre plus tard IMPORTANT
l pointeur: les PCBs sont rangés dans des
listes enchaînées (à voir)
l état de processus: ready, running, waiting…
l compteur programme: le processus doit
reprendre à l ’instruction suivante
Registres UCT
l autres registres UCT
l bornes de mémoire
l fichiers qu’il a ouvert
l etc., v. manuel
Commutation de processeur Commutation de processeur
Aussi appelée commutation de contexte ou context switching
(context switching)
l Quand l’UCT passe de l’exécution d ’un
processus 0 à l ’exécution d`un proc 1, il faut
l mettre à jour et sauvegarder le PCB de 0
l reprendre le PCB de 1, qui avait été
sauvegardé avant
l remettre les registres d ’UCT tels que le
compteur d ’instructions etc. dans la même
situation qui est décrite dans le PCB de 1
Il se peut que beaucoup de temps passe avant le retour au
processus 0, et que beaucoup d’autres proc soient exécutés
entre temps
24
- 25. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Le PCB n ’est pas la seule information à
sauvegarder
La pile d’un processus
l Quand un processus fait appel à une procédure, à une méthode,
l Il faut aussi sauvegarder l ’état des etc., il est nécessaire de mettre dans une pile l’adresse à laquelle
le processus doit retourner après avoir terminé cette procédure,
données du programme méthode, etc.
l Aussi on met dans cette pile les variables locales de la procédure
l Ceci se fait normalement en gardant qu’on quitte, les paramètres, etc., pour les retrouver au retour
l Chaque élément de cette pile est appelé stack frame ou cadre de
l ’image du programme en mémoire pile
primaire ou secondaire (RAM ou disque) l Donc il y a normalement une pile d’adresses de retour après
interruption et une pile d’adresses de retour après appel de
l Le PCB pointera à cette image procédure
l Ces deux piles fonctionnent de façon semblable, mais sont
indépendantes
l Les informations relatives à ces piles (base, pointeur…) doivent
aussi être sauvegardées au moment de la commutation de
contexte
Pointeurs de pile processus à
La Pile d’un processus sauvegarder: base et borne
P
A
B pointeur de borne
Appel A Appel B cadre 4
Données B
cadre 3
Données A cadre 2
Données P
pointeur de base cadre 1
PILE La pile fait normal. partie de l’image du programme, mais les pointeurs sont normal. des
registres d’UCT donc il sont sauvegardés dans le PCB
25
- 26. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Rôle du matériel et du logiciel dans le
traitement d’interruptions
Files d’attente IMPORTANT
MATÉRIEL LOGICIEL
Infos mises à jour et
l Les ressources d ’ordinateur sont souvent limitées par
sauvegardées dans PCB rapport aux processus qui en demandent
Signal d’interruption généré
l Chaque ressource a sa propre file de processus en
Le code de traitement de attente
l’interruption est exécuté
UCT termine l’instruction courante l À un moment donné, un proc ne peut se trouver que
et détecte interruption
dans une seule des différentes files du SE
L’ordonnanceur choisit un l En changeant d’état, les processus se déplacent
Registres d’UCT sont processus dans la file prêt
sauvegardés dans une pile d ’une file à l`autre
l File prêt: les processus en état prêt=ready
Les infos relatives à ce processus l Files associés à chaque unité E/S
UCT saute à l’adresse trouvée dans sont rétablies à partir de son PCB
le vecteur d’interruption l etc.
dispatcher
Les registres d’UCT sont rechargés
avec ce qu’on avait sauvegardé
dans PCB pour ce processus,
qui reprend l’exécution
Ce sont les PCBs qui sont dans les files d’attente (dont le Cet ensemble de files inclut donc la table de
besoin d ’un pointeur dans le PCB) statut périphériques
file prêt
Nous ferons l’hypothèse que le premier processus dans une file est celui
qui utilise la ressource: ici, proc7 exécute, proc3 utilise disque 0, etc.
2 fois la même erreur ici: imprimante devrait être disque 3
26
- 27. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Les PCBs ne sont pas déplacés en mémoire pour être mis dans les différentes files:
Une façon plus synthétique de décrire la même ce sont les pointeurs qui changent.
situation (pour les devoirs et les examens)
prêt à 7 à 2
bandmag0 à
bandmag1 à term. unit 0 ready
disq0 à 3 à 14 à 6
. . . PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 . . . PCB14
term0 à 5
disk unit 0
Ordonnanceur travaux = long terme
Ordonnanceurs (schedulers) et ordonnanceur processus = court terme
l Programmes qui gèrent l ’utilisation de Ordonnanceur travaux
ressources de l`ordinateur
l Trois types d`ordonnanceurs :
l À court terme = ordonnanceur processus:
sélectionne quel processus doit exécuter la
transition prêt → exécution
l À long terme = ordonnanceur travaux: Ordonnanceur processus
sélectionne quels processus peuvent
exécuter la transition nouveau → prêt
(événement admitted) (de spoule travaux à file
prêt)
l À moyen terme: nous verrons
27
- 28. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Ordonnanceurs Ordonnancement de processus (court terme)
l L`ordonnanceur à court terme est exécuté très
souvent (millisecondes)
l doit être très efficace
l L`ordonnanceur à long terme doit être exécuté
beaucoup plus rarement: il contrôle le niveau
de multiprogrammation
l Un des ses critères pourrait être la bonne utilisation
des ressources de l’ordinateur
l P.ex. établir une balance entre travaux liés à l’UCT
et ceux liés à l ’E/S
Disponibilité Ress.
Ordonnanceur à moyen terme Ordonnanceurs à court et moyen terme
l Le manque de ressources peut parfois forcer
moyen
le SE à suspendre des processus
l ils seront plus en concurrence avec les autres pour
des ressources
l ils seront repris plus tard quand les ressources
deviendront disponibles
l Ces processus sont enlevés de mémoire
centrale et mis en mémoire secondaire, pour court
être repris plus tard
l `swap out`, `swap in` , va-et-vien
28
- 29. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
États de processus dans UNIX Processus coopérants
Un exemple de diagramme de transitions d’états pour un SE réel
l Les processus coopérants peuvent
affecter mutuellement leur exécution
l Avantages de la coopération entre
processus:
l partage de l ’information
l efficacité en faisant des tâches en parallèle
l modularité
l la nature du problème pourrait le demander
Kernel, user mode = l P.ex. gestion d’événements indépendants
monitor, user mode l Un proc traite le clavier, un autre traite le modem
Le pb du producteur - consommateur Tampons de communication
l Un problème classique dans l ’étude des processus
Prod Prod
communicants
l un processus producteur produit des données (p.ex.des
enregistrements d ’un fichier) pour un processus
consommateur 1 donn 1 donn 1 donn 1 donn
l un pgm d’impression produit des caractères -- consommés
par une imprimante
l un assembleur produit des modules objet qui seront Cons Cons
consommés par le chargeur
l Nécessité d’un tampon pour stocker les items produits
(attendant d’être consommés Si le tampon est de longueur 1, le producteur et consommateur doivent
forcement aller à la même vitesse
Des tampons de longueur plus grandes permettent une certaine
indépendance. P.ex. à droite le consommateur a été plus lent
29
- 30. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Le tampon borné (bounded buffer) Utilisation du concept du tampon borné
une structure de données fondamentale dans les SE
bleu: plein, blanc: libre
in: 1ère
b[0] b[1] pos. libre b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] l Les tampons bornés sont partout en
b[7] b[2] informatique, et partout dans les SE
b[6] b[3] ou l Les files utilisées dans un SE sont des
in: 1ère out: 1ère
b[5] b[4] pos. libre pos.
pleine
tampons bornés:
out: 1ère
pos. tampon borné
Le pleine se trouve dans la mémoire partagée entre l Files d’attente pour ressources: file prêt,
consommateur et usager files pour imprimante, pour disque, etc.
À l’écriture d’une nouvelle info dans le tampon, le producteur met à l Les protocoles de communications
jour le pointeur in
utilisent des tampons bornés: TCP, et
Si le tampon est plein, le prod devra s’endormir, il sera plus tard
réveillé par le consommateur
autres
Le rôle du consommateur est symétrique l Un client communique avec un serveur
par des tampons bornés, etc.
Aperçu du chapitre
l Concepts de base
Ordonnancement Processus l Critères d’ordonnancement
l Algorithmes d’ordonnancement
Chapitre 4 l Ordonnancement de multiprocesseurs
l Ordonnancement temps réel
l Évaluation d’algorithmes
30
- 31. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Files d’attente de processus pour ordonnancement
Diagramme de transition d`états d`un processus
file prêt
Nous ferons l’hypothèse que le premier processus dans une file est celui
qui utilise la ressource: ici, proc7 exécute
Concepts de base Les cycles d’un processus
l La multiprogrammation vise à obtenir une
l utilisation optimale des ressources, surtout l’UCT
l et aussi à un bon temps de réponse pour l’usager
l L`ordonnanceur UCT est la partie du SE qui
décide quel processus dans la file ready/prêt
obtient l ’UCT quand elle devient libre
l L ’UCT est la ressource la plus précieuse dans
un ordinateur, donc nous parlons d’elle
l Cependant, les principes que nous verrons l Cycles (bursts) d’UCT et E/S: l’exécution d’un
s ’appliquent aussi à l ’ordonnancement des autres processus consiste de séquences d’exécution sur
ressources (unités E/S, etc). UCT et d’attentes E/S
31
- 32. Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Histogramme de durée des cycles UCT Quand invoquer l’ordonnanceur UCT
l L ’ordonnanceur UCT doit prendre sa décision chaque fois que
le processus exécutant est interrompu, c’e-à.-d.
1. un processus se se présente en tant que nouveau ou se termine
2. un processus exécutant devient bloqué en attente
3. un processus change d’exécutant/running à prêt/ready
4. un processus change de attente à prêt/ready
• en conclusion, tout événement dans un système cause une interruption
de l’UCT et l’intervention de l’ordonnanceur,
l Observation expérimentale: • qui devra prendre une décision concernant quel proc ou thread aura
l dans un système typique, nous observerons un grand nombre de court cycles, et un l’UCT après
petit nombre de long cycles
l Les programmes tributaires de l ’UCT auront normalm. un petit nombre de long l Préemption: on a préemption si on enlève l’UCT à un processus
cycles UCT qui l’avait et ne l’a pas laissée de propre initiative
l Les programmes tributaires de l’E/S auront normalm. un grand nombre de court l P.ex. préemption dans le cas 3, pas de préemption dans le cas 2
cycles UCT l Plusieurs pbs à résoudre dans le cas de préemption, v. manuel
Dispatcheur
Critères d’ordonnancement
l Le processus qui donne le contrôle au l Il y aura normalement plusieurs processus dans la file prêt
processus choisi par l’ordonnanceur. Il doit se
préoccuper de: l Quand l’UCT devient disponible, lequel choisir?
l changer de contexte
l Critères généraux:
l changer à mode usager
l Bonne utilisation de l’UCT
l réamorcer le processus choisi l Réponse rapide à l’usager
l Attente de dispatcheur (dispatcher latency)
l le temps nécessaire pour exécuter les fonctions du l Mais ces critères peuvent être jugés différemment...
dispatcheur
l il est souvent négligé, il faut supposer qu’il soit petit
par rapport à la longueur d’un cycle
32