0 évaluation0% ont trouvé ce document utile (0 vote) 64 vues10 pagesChap4 SE
Copyright
© © All Rights Reserved
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Systémes d’exploitation
Chapitre 4
Gestion des processus
Souhell Ben Ayod
Ecole Nationale d'Ingéniours de Sousse (ENISO)
Université de Sousse
Département Informatique ndustiale
année Génie Telacoms Embarquée
2020-2021
Processus
Un processus est (une abstraction d’) un programme en
cours d’exécution.
Correspond a l'exécution des taches par le systme
d'exploitation.
Les programmes des utilisateurs
Des programmes qui déclenchent d'autres programmes
Les programmes systémes
Un processeur n’exécute a la fois qu'un seul processus.
Processus
Systémes multi-taches
— Alterner entre lexécution de plusieurs processus
Systémes multi-coeurs/multi-processeurs
— Exécute plusieurs processus en méme temps
Les processus partagent laccés a différents ressources
— Processeur
— Mémoire
— Périphériques
Processus
La vitesse de traitement d'un processus n'est pas
uniforme.
— Non-reproductible si on exécute le processus une
autre fois.
Un processus # programme
Un seul programme peut nécessiter plusieurs
processus pour son exécution.Multiprogrammation
Uncomptur 1 scompieus
mae sae '
A ' }
| SEE
: LEA
c i
‘Sans muliprogrammation: | Avecla multiprogrammation: | Un seul processus acti
les processus sont le systéme d exploitation (stexécute) ala fois, mais tous
fexécutés les uns apres les | bascule entre les processus. | les processus se progressent
autres. ' surun intervalle assez long.
Un processus
Chaque processus est composé d'un espace de
travail (espace d'adressage) en mémoire formé
de quatre zones, appelées segments: stack
— text segment (code): le code machine exécutable du v
programe.
— ‘stack segment (pile): contient les données 4
temporaires telles que les paramétres de méthode / h
fonction, I'adresse de retour et les variables locales. eap
— heap segment (tas): mémoire allouée
‘dynamiquement au processus pendant son exécution. data
~ data segment (données): cette section contient le
variable globele, text
Propriétés d'un processus
Un processus est caractérisé par:
— Un identificateur/ numéro de processus (PID)
— Un état : exécution, suspendu, arrét, ...
— Pointeur d'instructions
= Pointeur de pile
— Ses données en mémoire (espace d'adressage)
— Autres informations (fichier ouvert, entrée/sortie, ...
Représentation d'un processus
Les informations caractéristiques aia [SGT
d'un processus sont rangées dans
une fiche signalétique (Process ‘Numéro du processus
Control Block (PCB) ) permettant
Broce PCS) Compteur instructions.
au systéme d'exploitation de
disposer des informations lies & Registres
ce processus. Limite de la mémoire
Le syst#me d'exploitation maintien Uste des fichiers ouvert
une table des processus pour
gérer et controler les différents
processus créés.Changement de contexte
Processus] | Sittme
agioraton
Sousa a cans by
Le basculement d'un processus a l'autre
est géré par le noyau.
1. Suspendre le processus en exécution
(Grocessus Py)
2. Mettre & jour le PCB, (PCB du Py)
3. Restaurer le PCB, du processus suivant
(PCB, duP,)
4, Reconfigurer Nespace mémoire
5. Démarrerexécution du processus (P,)
= eu Fes,
Uopération de changement de contexte est généralement décidée et
réalisée par 'ordonnanceur.
cca]
Soest Ft dons CB
Processus
Etat d'un processus
Un processus change d'état quand il s‘exécute.
A un instant, un processus peut se trouver dans un des
états suivants:
— Prét: Le processus est temporairement en attente. Attend d'étre
affecté & un processeur ( d'autre processus sont en exécution)
— En exécution: Les instructions du processus sont en cours
dexécution(en train d'utiliser la CPU)
— Bloqué: ne pouvant pas stexécuter ( attente d'un événement
externe pour le débloquer ou l'arréter)
Etat d'un processus
A tout moment, il ne peut étre qu'un seul
processus en exécution sur un processeur.
Plusieurs processus peuvent étre en états "Préts”
et "Bloqués".
Si la machine comporte N processeurs identiques,
& un instant donné il y a au maximum N
processus actif (en cours d'exécution).
Etat d'un processus
Activer
En (
Exécution —suspendre _\ }
DétruireEtat d'un processus
Lorsque le processus est
exécuté,
, il devient prét & étre
Le SE élire un des processus préts, ce processus
pour étre alloué au CPU.
Pour un processus en cours d'exécution, trois cas peuvent
se présenter:
— Le processus se
= Le processus est et se remet en état prét.
— Le processus est en attente d'un événementet il passe en état
de blocage
Etat d'un processus
Un processus en état de blocage se débloque dés
la réception de I'événement attendu en passant :
— 8 l'état prét si le CPU est utilisé par un autre processus
— ou a l'état d'exécution si le CPU est libre.
Un processus peut étre détr
des états "Prét" ou "Bloqué”.
apartirdel'un
Mode d’exécution
Le SE offre au moins deux modes d’exécution:
Mode utilisateur: accés restreint (pas dacces direct aux
périphériques)
* Certaines instructions sont interdites . ll peut étte interrompu par
autres processus.
Mode noysu : acc&s sans restriction (manipulation de la
mémoire, dialogue avec les contrOleurs de périphériques, ...)
= Les jes permettent a un processus en mode
utilisateur d’accéder ( ) a des fonctions
nécessitant le mode noyau
Appels systemes
Des fonctions primitives fournie par le noyau d'un
&
Utilisée par les programmes s'exécutant dans le
mode utilisateur pour accéder temporairement &
des fonctions nécessitant le mode noyau.
Les appels systémes permettent de contréler de
facgon sécurisée les applications dans |'espace
utilisateur.Fin de processus
Un processus est terminé par l'un des événements suivants:
Sortie normale b
+ leprocessusa terminé de sexéeutr Appel sistime ess UN)
Sortie avec erreur ( )
+ le processus a torminé suite 3 une erreur (ex. division par 0, demande
Vacebs a une resource inexistante, ..)
le (involontaire) :
+ Ex. mauvais parametres de lexécution, Bogue dans le programme
us (involontaire}:
+ en UNIX appel systime Kill
Les interruptions
Arrét temporaire (suspendre) du déroulement
séquentiel (exécution normale) d'instructions par le
processeur pour en exécuter au plus vite une autre.
Une interruption du processeur est un signal envoyé au
processeur qui permet
jerrompre un programme en coursd'exécution
— Gérer les événements prioritaires.
— Utilisation d'une instruction d'E/S
Les interruptions matériels
Appelé aussi interruption externe.
Interruption déclenchée par un périphérique d'E/S pour
indiquer qu'une requéte doit étre satisfaite. (IRQ : Interrupt
Request)
Chaque interruption est attribuge un numéro de priorité
Llinterruption ayant le numéro le plus faible est la plus
prioritaire. ee]
IRQO ovo it
‘RQ cae
‘Roa iste sai (CONDS
IFO Irnatace cai (COM)
gs Leagan au,
Les interruptions logiciels
Interruptions internes.
Interruptions provoguées par le programmeur.
Utliser une instruction qui déclenche une interruption
Peut étre de deux types:
‘Appel systimes : Générées volontairement par un processus en exécution (se
reduisent 3 un endroit précis du code)
— Déroutements : causées géneralement par des erreurs (instructions invaldes,
uision par zéro, ereurs d'acces 3 la memoire,..)
‘Au dédenchement d'une interruption logicielle, le processeur arréte
Yexécution séquentielle des instructions pour exécuter les instructions
diune routine dinterruption (identifiée par un index)
Chaque index pointe dans une table de 256 routines (interruptions),
appelée vecteur interruption.Ordonnancement
Lordonnancement (scheduling)
Dans un systéme multitache
— Plusieurs processus sont exécuté simultanément.
Un processeur ne peut exécuter qu'un processus (instruction) & un
instant,
~ Assignation du processeur a un processus en fonction de certains
criteres.
Lordonnanceurs'occupe de sélectionner le processus a activer
parmi ceux qui sont prét.
= Optimiser utilisation concurrente du processeur.
Ordonnancement
File d exécution x
Processeur
@
Ordonnancement
File d'attente: accueillir les processus préts.
Ordonnanceur: responsable de lorganisation de la file
d'attente des processus (sélection des processus élu)
— Unalgorithme d'ordonnancement: applique I'ordonnancement
des processus selon une politique et critéres.
Dispatcheur (Distributeur): lection de processus
— Choix d'un processus lorsqu'il y en a plusieurs.
L'ordonnanceur
objectif d'un ordonnanceur dans un SE:
1 Utiliser le processeur & 100%
Ui Sassurer V'exécution de tous les processus en attente
EMinimiser le temps de réponse
i Permettre un acces équilibrée aux ressources
Prendre en compte des priorités
Etre prédictiblesTypes d'ordonnanceurs
@ Ordonnanceurs & c
CChoisiun a étre exéauté parm les processus préts
— Sélection en fonction dune certaine politique le processus suivant a exdcuter
© Ordonnanceurs a long tern
= Sdlectionne le processus & admettre dans la file de processus pits
= Comtrdle le degré de multiprogrammation (nombre de processus dans la
memoir},
1 Ordonnanceurs @ moyen te
— Avantoge = Contrer le degré de multiprogrammation par suppression des
processus dela mémoire
= Débarquer/rembarquer les processus sur la mémoire
Un processus rembarqué dans la mémoire reprend la ou son exéeution stat
wrétee
Catégories d'ordonnanceurs
@ Ordonnanceurs non préemptif
~ LeSEallaue le processeur 8 un processus jusqu’a cequil termine ou qu'il se
bloque.
— Pas de réquisition
~ FCES, SIF, avec priorité non préempti, ete,
@ Ordonnanceurs préemptif ou avec réc
— Sassurer qu’aucun processus ne s'extcute pendant une durée trop longue.
~ Ordonnanceur avec horloge pour générer périodiquement une interruption.
~ Achaque interruption le SE décide du processus a sexécuter.
— Leprocessus sélectionné s'exécute pendant un délai détermin€.
Critéres d’ordonnancement
ilisation du CPU: Maintenir le processeur occupé
: Quantité de processus terminés par unité
apacité de traitement (dét
de temps.
smps de traitement/séjour/restitu
Fexécution d'un processus
~ Intervalle entre lelancement du processus et sa terminalson.
© Temps dattente: Somme du temps d'attente dans la file des processus
pret,
smps de réponse: Vitesse de réponse aux lancement de processus.
temps nécessaire pour
= Intervae entre lelancement du processus et sa premire exécution
Critéres d’ordonnancement
nps de séjour moyen: Tsm=
— Le temps de sour / nombre de processus ‘Nbr processus
Letemps d'attente /nombre de processus. |"A" = Tor processus |
Le nombre de processus terminés
par unité de temps
Débit=—NOr processus _|
Temps de traitement
~ Temps d'exéaution des processus sur le temps total foccupation du
processeurPremier arrivé, premier servi (FCFS) Premier arrivé, pre!
* First Came, First Serve (FES) a pent Sens PATON a
= Le plus simple Cater: a ca
™ Les processus sont ordonnancés dans l'ordre de - ae oils
diarrivé a l'état prét. = tec ae
" La file d'attente des processus préts: FIFO Ps Ps
Chaque processus occupe le processeur jusqu'a
sa terminaison ou requérant une E/S.
2 a0)
Plus court temps de traitement Plus court temps de traitement
© Shortest Job First (SIF) exemple; ; ne 3
5 F Donner le diagramme d'exécution n 2 2
= Algorithme favorisant les traitements courts Calculer: n 3 i
* inon préemptit = Tonpedtunena open me a
= En cas d'égalité, l'ordonnancement FCFS peut étre = Ledabit = . rr
utilisé. =
= Nécessite la connaissance de la durée de traitement du poh
prochain processus
= Ce quiest généralement impossible en pratique Tamm = S222Algorithme de tourniquet
(round robin)
® Congu pour le temps partagé
= Unalgorithme préemptif
™ Un processus élu s'exécute durant une tranche de
temps fixe, appelé quantum.
Servir un nombre de processus au bout d'un temps fini.
™ Vlordonnanceur sélectionne le processus qui attend
depuis le plus longtemps.
Algorithme de round robi
Promsus —Anivée —urte
Exemple: a
‘Quantum =2
Donner le diagramme d'exécution
Calculer:
= Temps de séourmoyen
Temps daterte moyen 8
ledebe "6
a
Ps
Le temps restant le plus court (SRT)
= Shortest Remaining Time (SRT)
= Une version préemptive de I'algorithme SJF
™ A la réception d'un nouveau processus:
— Lordonnanceur compare le temps de traitement
restant a la durée du nouveau processus.
— Le processus ayant le temps de traitement inférieur
est exécuté.
= L'algorithme SRT favorise les processus courts
Le temps restant le plus court (SRT)
‘processus aniee ure
Exemple: rt
@ 3
Donner le diagramme d'exécution 2 2 2
Calculer: 2 1
= Temps de séjour moyen mo 4 3
Temps d'attente moyen oS i i
= Ledebit rs 5 A
a Pa | Ps 4] Ps 5
Tt bit tk
Tamm = EHS 1.5 veti
azOrdonnancement avec priorité
™ Attribuer une priorité 4 chaque processus
= Préemptif et non préemptif
jon pré f : rangement en file d'attente des
processus en fonction des priorités.
2 : a l'arrive d'un processus dans la file
diattente, s'il est plus prioritaire que celui en cours
d'exécution, il y aura une réquisition du processeur en
faveur du processus arrivant.
Ordonnancement avec priorité
Proms Aerte Durde
Exemple: no
Prioritéta plus faible est 1
Donner le diagramme d'exéeution
Calculer:
= Temps de séourmoyen
Temps daterte moyen 8
ledebe "6
a pz | Ps pa pa | Ps
15
a
- 5
gam =Sttbeaete2 _ 7 66
Vous aimerez peut-être aussi