Cours Systèmes d'exploitation: Gestion des Processus

Page 1 sur 35Lecteur de document UniversityLib

Cours Systèmes d'exploitation: Gestion des Processus

Computer Science - Operating Systems · notes

Voir tous les documents en systèmes d'exploitation et cloud

Cours Syst mes dexploitation:

Gestion des Processus

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

1

1- Processus

le concept de base de tout syst me

  • Un processus est un ensemble d'octets (en langage machine)

en cours d'ex cution

  • C'est l'ex cution d'un programme par le syst me.
  • le processus est

dexploitation.

  • Un processus est une entit dynamique correspondant

lex cution dune suite dinstructions : un programme qui

s'ex cute, ainsi que ses donn es, sa pile dex cution, son

compteur ordinal, son pointeur de pile et les autres contenus de

registres n cessaires son ex cution.

Remarque: ne pas confondre un processus (aspect dynamique,

ex cution qui peut tre suspendue, puis reprise), avec un

programme ex cutable (aspect statique: fichier sur disque).

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

2

2- Multiprogrammation

-Un syst me d'exploitation doit en g n ral ex cuter plusieurs

programmes en m me temps. Comme il n'a (la plupart du

temps) qu'un processeur, il r sout ce probl me gr ce un

pseudo parall lisme: Il traite une t che la fois, s'interrompt et

passe la suivante.

-La commutation de t ches tant tr s rapide, elle donne l'illusion

d'effectuer un traitement simultan .

-La multiprogrammation se base sur le basculement de la CPU

entre plusieurs processus qui sex cutent pendant des p riodes

de temps tr s r duites.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

3

3- G n alogies des processus:

  • Un processus est g n ralement cr s par un autre processus. Il

peut lui m me lancer ensuite d'autres processus.

  • Le processus cr ateur est appel p re , et les processus cr s

fils . Les processus peuvent donc se structurer sous la forme

d'une arborescence.

seul

processus,

  • Au lancement du syst me, il n'existe

qu'un

appel

processus init , qui est l'anc tre de

tous les autres. Cest le seul processus

sans p re au moment de sa cr ation.

P1

P2

P3

P4

El ments de TP:

-Commandes ps: liste de processus

-Commande pstree: arborescence des processus

P5

P6

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

4

4- Espace m moire dun processus

Les processus sont compos s d'un espace de travail (espace

d'adressage) en m moire form de 3 segments et accessible par les

programmes utilisateur :

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

5

Un processus est donc un programme qui s'ex cute et qui

poss de :

  • son propre compteur ordinal (@ de la prochaine instruction

ex cutable),

-ses registres

-ses variables.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

6

Le noyau maintient une table en m moire, appel e table des

processus , pour g rer l'ensemble des processus (ici P1, ..., P5, ...). Elle

contient la liste de tous les processus avec des informations concernant

chacun dentre eux.

  • Le nombre des emplacements dans cette table des processus est limit

pour chaque syst me et pour chaque utilisateur

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

7

5- Contexte dun processus

lensemble des donn es qui

Le contexte dun processus est

permettent de reprendre lex cution dun processus qui a t

interrompu. Le contexte dun processus comporte:

1. son tat

2. son mot d tat (PSW) : comprend

  • La valeur des registres actifs
  • Le compteur ordinal

3. les valeurs des variables globales statiques ou dynamiques

4. son entr e dans la table des processus

5. sa zone u

6. Les piles user et system

7. les zones de code et de donn es.

Le noyau et ses variables ne font partie du contexte daucun

processus! Lex cution dun processus se fait dans son contexte.

Quand il y a changement de processus courant, il y a r alisation

dune commutation de mot d tat et dun changement de contexte.

Le noyau sex cute alors dans le nouveau contexte.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

8

6- Commutation de mot d tat et interruptions

  • Ce sont des fonction fondamentales (de tr s bas niveau) pour un syst me

dexploitation.

  • Pour tre ex cut et donner naissance un processus, un programme et

Publicité

ses donn es doivent tre charg s en m moire centrale. Les instructions du

programme sont transf r es une une de la m moire centrale sur lunit

centrale ou elles sont ex cut es.

  • Lunit centrale comprend des circuits logiques et arithm tiques (qui

e ctuent les instructions) et des m moires appel es registres tels que:

  • Laccumulateur: re oit le r sultat dune instruction
  • le registre dinstruction: contient linstruction en cours

*le compteur ordinal: adresse de la prochaine instruction en

m moire ex cuter

  • le registre dadresse
  • les registres de donn es: utilis s pour lire ou crire une donn e

une adresse sp ci e en m moire.

  • les registres d etat du processeur: actif, mode (user/system),

retenue, vecteur dinterruptions, ..)

  • les registres d etat du processus :droits, adresses, priorit s, ..

9

Beyaoui Walid

Licence appliqu e en TI- Cours

Syst mes d'exploitation

6- Commutation de mot d tat et interruptions (suite)

Ces registres forment le contexte dunit centrale dun processus. A tout

moment, un processus est caract ris par ces deux contextes :

  • le contexte dunit centrale qui est compos des m mes donn es

pour tous les processus

-le contexte qui d pend du code du programme ex cut .

Pour pouvoir ex cuter un nouveau processus, le syst me doit sauvegarder

le contexte dunit centrale du processus courant (mot d etat), puis

charger le nouveau mot d etat du processus ex cuter: cette op ration

est appel e commutation de mot d etat. Elle utilise 2 adresses qui sont

respectivement :

  • ladresse de sauvegarde du mot d etat
  • ladresse de lecture du nouveau mot d etat

Le processus interrompu pourra ainsi reprendre exactement ou il avait

abandonn .

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

10

7- interruptions

Une interruption est une commutation de mot d etat (de contexte)

provoqu e par un signal produit par le mat riel.

Ce signal tant la cons quence dun v nement ext rieur ou int rieur, il

modie l etat dun indicateur qui est r guli rement test par lunit

centrale.

Une fois que le signal est d tect , il faut d terminer la cause de

linterruption. Pour cela on utilise un indicateur, pour les di rentes

causes, on parle alors du vecteur dinterruptions.

On distingue trois grands types dinterruptions :

interventions de

(ind pendantes du processus)

  • externes

lop rateur, pannes, ..

  • d routements: erreur interne dans lex cution du processus

courant (d bordement de m moire ,division par z ro,..)

  • appels syst mes: demande dentr e-sortie par exemple.

G n ralement un num ro de priorit est affect un niveau d'interruption

pour d terminer l'ordre de traitement lorsque plusieurs interruptions sont

positionn es. Lhorloge est linterruption la plus prioritaire sur un syst`eme

Unix.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

11

8-Processus et SE

Plusieurs processus ind pendants doivent pouvoir s'ex cuter

sans interf rence

-partage des ressources : processeur, m moire, stockage...

-isolation des processus (s curit , fiabilit )

l'inverse, les processus doivent pouvoir communiquer si leur

programme le demande

-m canismes de Communication Inter-Processus: (IPC)

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

12

9-Informations sur les processus :

gestionnaire de t ches Windows

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

13

9-Informations sur les processus :

gestionnaire de t ches Linux

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

14

10- Bloc de contr le processus PCB :Process Control

Block

informations sont dans une zone m moire accessible

Structure de donn es du SE contenant les informations sur un

processus

Ces

uniquement par le noyau

Pour obtenir des informations sur les processus, il est donc

n cessaire de passer par des appels syst mes: getpid, getppid, getuid,

geteuid, setuid...

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

15

11-Informations du PCB

1- Identit

Identificateur de processus (PID): num ro unique ( un instant

donn , mais r utilisable)

Informations

ventuellement processus enfants

Information de droits:

-utilisateur propri taire du processus

-utilisateur effectif (augmentation ou diminution de droits),

exemples :

g n alogie:

processus

(PPID),

parent

de

  • droits d'administration locale
  • serveurs lanc s par l'administrateur
  • serveur d'application

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

16

11-Informations du PCB

2- Ex cution

Publicité

Etat du processus

Contexte processeur: tat des registres du processeur pour ce

processus

Autres informations d'ordonnancement

exemple : priorit

3- Ressources

Informations sur la m moire utilis e / utilisable: tables de pages (cf.

cours gestion de la m moire)

Informations sur le temps pass : temps r el (dex cution), temps

utilisateur

Liste des fichiers ouverts: fichiers classiques, p riph riques, moyens

de communication avec d'autres processus (pipe...)

Autres ressources utilis es...

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

17

12-Exemple simplifi dun processus

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

18

12-Exemple simplifi dun processus (suite)

Ce processus a le num ro 36. Il a t lanc par l'utilisateur qui a 106

pour UID. Il est en train d'ex cuter le programme 'cmd1'. Il a

consomm 0.3 seconde, avec une priorit de 20. Son masque de

cr ation de fichier est 027. Son terminal de contr le est /dev/term/c4.

Son r pertoire courant est /usr/c1.

0 :entr e standard

1 :sortie standard

2 :sortie standard

d'erreur.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

19

13-Etats dun processus

  • Selon les syst mes, le nombre et le nom des tats

peut varier.

-Tous les syst mes comportent au minimum les trois tats suivants :

lu ou Actif :

  • Le processus est en cours dex cution par le processeur.

-Si le processus puise le temps qui lui est allou par le SE, il est

remis en file dattente des pr ts.

-Sil a besoin dune ressource non disponible (op rations sur les

p riph riques), il est mis en attente prolong e (Interruption : tat

bloqu ) jusqu la lib ration de la ressource n cessaire.

Eligible ou pr t: en attente de pouvoir s'ex cuter sur le processeur

(il passera alors l tat Actif).

Bloqu ou en attente: en attente d'un v nement (interruption ou

ressource). D s sa lib ration il repasse l tat Pr t

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

20

13-Etats dun processus: transitions

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

21

14- Cr ation des processus

La cr ation dun processus peut se faire suite :

-Linitialisation du syst me : au chargement du syst me il ya cr ation

automatique du processus racine p re de tous les processus

utilisateurs (id=0)

-Un processus peut lancer un autre processus, il en devient le parent,

lautre sera d sign comme processus fils. (Un processus p re ne se

termine que lorsque tous ses fils sont termin s).

-Une requ te de lutilisateur (commande par exemple)

-Initiation dun travail en traitement par lot

La destruction dun processus (et la lib ration de toutes ses ressources

allou es a quatre causes possibles :

-Arr t normal : volontaire, lorsque le processus termine sa t che.

-Arr t pour erreur : volontaire suite une erreur pour une instruction

ill gale

-Arr t pour erreur fatale : involontaire tel que les mauvais param tres

de lex cution du processus

  • Arr t volontaire par un autre processus

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

22

14- Cr ation des processus: sous Windows

les

sont donn es en

caract ristiques

Appel syst me CreateProcess : cr e un processus

dont

param tres de l'appel syst me (10 param tres)

Exemple :

STARTUPINFO si; // renseigner

PROCESS_INFORMATION pi; // utilis en sortie

bool succes = CreateProcess(0, "mon_prog.exe", 0, 0,

FALSE, 0, 0, 0, &si, &pi);

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

23

14- Cr ation des processus: sous Unix

Appel syst me fork() :

  • duplique le processus courant avec toutes ses informations: copie de

la zone m moire du p re (seul le PID et le PPID changent). A la

cr ation les 2 processus sex cutent parall lement, on ne connait pas

lequel des processus continuera sex cuter avant lautre.

  • retourne une valeur diff rente dans le processus p re et le

processus fils pour faire la distinction (0 dans le fils et le PID du fils

dans le p re)

Exemple :

int pid_fils = fork();

if (pid_fils == 0) // il sagit du fils&..

else // il sagit du p re&&

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

24

14- Cr ation des processus: sous Unix (suite)

Si on souhaite que le fils ex cute un autre programme que le p re, on

utilise un appel syst me de type exec qui remplace le programme

courant par un autre programme

Exemple :

Publicité

int pid_fils = fork();

if (pid_fils == 0) exec("chemin dun autre programme");

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

25

15- Ordonnancement des processus

P1 ; P2 ; &&& ; Pn

Chargement

En M.C

M moire

centrale

CPU

Ex cution

Selon un

ordre bien

d termin

R le de l'ordonnanceur : choisir, parmi tous les processus ligibles,

lequel va devenir lu (utiliser la CPU pour sex cuter).

Strat gies / politiques d'ordonnancement: Algorithmes

dordonnancement.

Objectifs:

  • une bonne gestion du processeur (taux d'utilisation lev de l'UC).
  • Augmenter le nombre de processus ex cut pendant une p riode
  • Minimiser le temps moyen dex cution dun processus
  • Minimiser le temps dattente dun processus (satisfaction des

utilisateurs).

  • Minimiser les temps dinactivit dun processeur.

Beyaoui Walid

26

Licence appliqu e en TI- Cours

Syst mes d'exploitation

16- Algorithmes dordonnancement

Performance s des algorithmes dordonnancement:

"Temps de rotation dun processus = date de fin dex cution - date darriv e

"Temps de rotation moyen = Temps de rotation /nombre de processus

"Temps dattente dun processus = temps de rotation - dur e dex cution

"Temps moyen dattente = temps dattente / nombre de processus

"Rendement = dur e totale dex cution /nombre de processus

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

27

16- Algorithmes dordonnancement

1- Algorithme du premier venu premier servi (first come first serve :

FCFS) :

g r par une file dattente FIFO (first in first out)

Ordonnancement nom pr emptif (pas de pr emption)

Quand lunit centrale est libre, elle est allou e au processus en t te

de la file dattente des processus pr t .

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

28

16- Algorithmes dordonnancement

Exemple:

Processus

Temps CPU

P1

P2

P3

25

3

11

*Ordre dex cution : P1 ; P2 ; P3.

P1

P2

P3

-Temps dattente:

P1

0

P2

25

0 25 28 39

P3

28

FTemps dattente moyen = (25 + 28) / 3 = 17,66.

*Ordre dex cution : P2 ; P3 ; P1.

-Temps dattente:

P1

14

P2

0

P3

3

FTemps dattente moyen = (14 + 3) / 3 = 5,66.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

29

16- Algorithmes dordonnancement

lalgorithme FCFS nest g n ralement pas optimal. Il d pend de lordre

de larriv e du processus, ainsi que le temps dex cution. Cet algorithme

est particuli rement incommode pour les syst mes temps partag s.

Avantages :

  • simple, surco t faible, quitable
  • assez efficace en multi-processeurs, pour des processus tr s

fr quemment bloqu s(gestions E/S)

Inconv nient :

  • temps de r ponse d pend du processus qui a la main: tant qu'il ne se

bloque pas, les autres doivent attendre

  • p nalise les processus courts: proportion temps d'attente / temps

d'ex cution

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

30

16- Algorithmes dordonnancement

2- Algorithme du travail le plus court dabord ou SJF (Shortest Job

First) :

Ordonnancement nom pr emptif (pas de pr emption)

On donne toujours la main celui qui met le moins de temps avant de

se bloquer / terminer.

Suppose d'avoir une connaissance / estimation de ce temps pour

chaque processus :hypoth se forte(cas du travail par lot)

En cas d galit , lordonnancement FCFS est utilis .

Exemple:

Processus

Temps darriv e

Temps CPU

P1

P2

P3

0

Publicité

2

4

5

2

1

Donner un sch ma illustrant lex cution de ces processus.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

31

16- Algorithmes dordonnancement

3- Algorithme du temps restant le plus court SRT (Shortest Remaining

Time):

version pr emptive de lalgorithme SJF.

Lordonnanceur compare la valeur estim e du temps de traitement

restant du processus en cours avec le temps dex cution dun nouveau

processus qui vient darriver. Si le temps de traitement du nouveau

processus est inf rieur, le processus en cours est pr empt c'est- -dire

interrompu pour que le nouveau processus prenne sa place.

Exemple:

Processus

Temps darriv e

Temps CPU

P1

P2

P3

0

1

2

5

3

1

Donner un sch ma illustrant lex cution de ces processus.

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

32

16- Algorithmes dordonnancement

4- Algorithme du Tourniquet (Round Robin : RR) :

FCFS avec pr emption

Chaque processus re oit un quantum de temps

Une fois le quantum puis , le processus passe la main et retourne

dans la file d'attente .

Terminaison de

lex cution

<= 1 quantum

P1 P2 P3 & &. Pn

Processeur

> 1 quantum

Partitionnement du temps

du cycle en quantas

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

33

16- Algorithmes dordonnancement

4- Algorithme du Tourniquet (Round Robin : RR) : Exemple

Processus

P1

P2

P3

Temps darriv e

0

1

3

Temps CPU

2

4

3

  • qantum = 2 unit s

commutation de contexte

P1 P2 P3 P2 P3

0 2 4 6 8 9

Le processeur effectue une commutation de contexte uniquement lorsquil

atteint la fin du quantum, et que le processus ne sest pas termin .

  • Temps dattente de P1 : 0
  • Temps dattente de P2 : 1.97 + 2 = 3.97 (lorsque P3 est en ex cution, P2 est

en attente).

  • Temps dattente de P3 : 3.96 + 2 = 5.96

FTemps dattente moyen : 9.93/3 = 3.31 unit s

  • Si le temps CPU de P1 = 5 &?

Beyaoui Walid

34

Licence appliqu e en TI- Cours

Syst mes d'exploitation

16- Algorithmes dordonnancement

5- Algorithme avec priorit :

"Chaque processus est muni dune priorit .

"Le processus le plus prioritaire va sex cuter en premier lieu.

"G n ralement, on consid re toujours la priorit avec pr emption

" G n ralement, la priorit est croissante (processus priorit

lev e plus prioritaire)

Exemple:

Processus

P1

P2

P3

P4

Temps

darriv e

0

1

4

4

Temps CPU

Priorit

6

5

3

4

3

4

2

5

a) Priorit avec pr emption :

b) Priorit sans pr emption :

Licence appliqu e en TI- Cours

Syst mes d'exploitation

Beyaoui Walid

35