Cours Systèmes d’exploitation: Gestion des Processus

1/35
100%

<!-- Slide number: 1 -->

Cours Syst mes dexploitation:Gestion des Processus

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

1

Notes:

<!-- Slide number: 2 -->

1- Processus

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 le concept de base de tout syst me 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

<!-- Slide number: 3 -->

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

Notes:

<!-- Slide number: 4 -->

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.

P1

P4

P2

P3

P5

P6

Au lancement du syst me, il n'existe

qu'un seul processus, 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.

El ments de TP:

Commandes ps: liste de processus

Commande pstree: arborescence des processus

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

4

<!-- Slide number: 5 -->

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 :

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

5

<!-- Slide number: 6 -->

![](Picture3.jpg)

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

<!-- Slide number: 7 -->

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

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

7

<!-- Slide number: 8 -->

5- Contexte dun processus

Le contexte dun processus est lensemble des donn es qui 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

<!-- Slide number: 9 -->

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 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

Publicité

*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, ..

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

9

<!-- Slide number: 10 -->

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

<!-- Slide number: 11 -->

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 :

  • externes (ind pendantes du processus) interventions de 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

<!-- Slide number: 12 -->

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

<!-- Slide number: 13 -->

9-Informations sur les processus :gestionnaire de t ches Windows

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

13

<!-- Slide number: 14 -->

9-Informations sur les processus :gestionnaire de t ches Linux

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

14

<!-- Slide number: 15 -->

10- Bloc de contr le processus PCB :Process Control Block

Structure de donn es du SE contenant les informations sur un processus

Ces informations sont dans une zone m moire accessible 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

<!-- Slide number: 16 -->

11-Informations du PCB

1- Identit

Identificateur de processus (PID): num ro unique ( un instant donn , mais r utilisable)

Informations de g n alogie: processus parent (PPID), ventuellement processus enfants

Information de droits:

-utilisateur propri taire du processus

-utilisateur effectif (augmentation ou diminution de droits), exemples :

  • 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

<!-- Slide number: 17 -->

11-Informations du PCB

2- Ex cution

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

Publicité

17

<!-- Slide number: 18 -->

12-Exemple simplifi dun processus

![](Picture3.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

18

<!-- Slide number: 19 -->

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.

![](Picture2.jpg)

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

<!-- Slide number: 20 -->

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

<!-- Slide number: 21 -->

13-Etats dun processus: transitions

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

21

<!-- Slide number: 22 -->

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

<!-- Slide number: 23 -->

14- Cr ation des processus: sous Windows

Appel syst me CreateProcess : cr e un processus

dont les caract ristiques sont donn es en 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

<!-- Slide number: 24 -->

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

<!-- Slide number: 25 -->

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

Publicité

Exemple :

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

<!-- Slide number: 26 -->

15- Ordonnancement des processus

M moire

centrale

CPU

Chargement

En M.C

Ex cution

Selon un ordre bien d termin

P1 ; P2 ; &&& ; Pn

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.

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

26

<!-- Slide number: 27 -->

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

<!-- Slide number: 28 -->

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

<!-- Slide number: 29 -->

16- Algorithmes dordonnancement

Exemple:

*Ordre dex cution : P1 ; P2 ; P3.

0 25 28 39

-Temps dattente:

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

*Ordre dex cution : P2 ; P3 ; P1.

-Temps dattente:

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

| Processus | Temps CPU |

| --- | --- |

| P1 | 25 |

| P2 | 3 |

| P3 | 11 |

| P1 | P2 | P3 |

| --- | --- | --- |

| P1 | P2 | P3 |

| --- | --- | --- |

| 0 | 25 | 28 |

| P1 | P2 | P3 |

| --- | --- | --- |

| 14 | 0 | 3 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

29

<!-- Slide number: 30 -->

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

<!-- Slide number: 31 -->

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.

Publicité

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:

Donner un sch ma illustrant lex cution de ces processus.

| Processus | Temps darriv e | Temps CPU |

| --- | --- | --- |

| P1 | 0 | 5 |

| P2 | 2 | 2 |

| P3 | 4 | 1 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

31

<!-- Slide number: 32 -->

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:

Donner un sch ma illustrant lex cution de ces processus.

| Processus | Temps darriv e | Temps CPU |

| --- | --- | --- |

| P1 | 0 | 5 |

| P2 | 1 | 3 |

| P3 | 2 | 1 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

32

<!-- Slide number: 33 -->

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

Processeur

| P1 | P2 | P3 | & | &. | Pn |

| --- | --- | --- | --- | --- | --- |

Partitionnement du temps du cycle en quantas

> 1 quantum

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

33

<!-- Slide number: 34 -->

16- Algorithmes dordonnancement

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

  • qantum = 2 unit s commutation de contexte

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

Temps dattente moyen : 9.93/3 = 3.31 unit s

  • Si le temps CPU de P1 = 5 &?

| Processus | Temps darriv e | Temps CPU |

| --- | --- | --- |

| P1 | 0 | 2 |

| P2 | 1 | 4 |

| P3 | 3 | 3 |

| P1 | P2 | P3 | P2 | P3 |

| --- | --- | --- | --- | --- |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

34

<!-- Slide number: 35 -->

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:

Priorit avec pr emption :

Priorit sans pr emption :

| Processus | Temps darriv e | Temps CPU | Priorit |

| --- | --- | --- | --- |

| P1 | 0 | 6 | 3 |

| P2 | 1 | 5 | 4 |

| P3 | 4 | 3 | 2 |

| P4 | 4 | 4 | 5 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

35

Notes:

Cours Systèmes d’exploitation: Gestion des Processus

Operating Systems · course

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

<!-- Slide number: 1 -->

Cours Syst mes dexploitation:Gestion des Processus

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

1

Notes:

<!-- Slide number: 2 -->

1- Processus

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 le concept de base de tout syst me 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

<!-- Slide number: 3 -->

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

Notes:

<!-- Slide number: 4 -->

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.

P1

P4

P2

P3

P5

P6

Au lancement du syst me, il n'existe

qu'un seul processus, 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.

El ments de TP:

Commandes ps: liste de processus

Commande pstree: arborescence des processus

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

4

<!-- Slide number: 5 -->

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 :

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

5

<!-- Slide number: 6 -->

![](Picture3.jpg)

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

<!-- Slide number: 7 -->

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

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

7

<!-- Slide number: 8 -->

5- Contexte dun processus

Le contexte dun processus est lensemble des donn es qui 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

<!-- Slide number: 9 -->

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 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

Publicité

*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, ..

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

9

<!-- Slide number: 10 -->

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

<!-- Slide number: 11 -->

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 :

  • externes (ind pendantes du processus) interventions de 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

<!-- Slide number: 12 -->

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

<!-- Slide number: 13 -->

9-Informations sur les processus :gestionnaire de t ches Windows

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

13

<!-- Slide number: 14 -->

9-Informations sur les processus :gestionnaire de t ches Linux

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

14

<!-- Slide number: 15 -->

10- Bloc de contr le processus PCB :Process Control Block

Structure de donn es du SE contenant les informations sur un processus

Ces informations sont dans une zone m moire accessible 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

<!-- Slide number: 16 -->

11-Informations du PCB

1- Identit

Identificateur de processus (PID): num ro unique ( un instant donn , mais r utilisable)

Informations de g n alogie: processus parent (PPID), ventuellement processus enfants

Information de droits:

-utilisateur propri taire du processus

-utilisateur effectif (augmentation ou diminution de droits), exemples :

  • 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

<!-- Slide number: 17 -->

11-Informations du PCB

2- Ex cution

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

Publicité

17

<!-- Slide number: 18 -->

12-Exemple simplifi dun processus

![](Picture3.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

18

<!-- Slide number: 19 -->

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.

![](Picture2.jpg)

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

<!-- Slide number: 20 -->

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

<!-- Slide number: 21 -->

13-Etats dun processus: transitions

![](Picture2.jpg)

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

21

<!-- Slide number: 22 -->

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

<!-- Slide number: 23 -->

14- Cr ation des processus: sous Windows

Appel syst me CreateProcess : cr e un processus

dont les caract ristiques sont donn es en 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

<!-- Slide number: 24 -->

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

<!-- Slide number: 25 -->

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

Publicité

Exemple :

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

<!-- Slide number: 26 -->

15- Ordonnancement des processus

M moire

centrale

CPU

Chargement

En M.C

Ex cution

Selon un ordre bien d termin

P1 ; P2 ; &&& ; Pn

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.

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

26

<!-- Slide number: 27 -->

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

<!-- Slide number: 28 -->

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

<!-- Slide number: 29 -->

16- Algorithmes dordonnancement

Exemple:

*Ordre dex cution : P1 ; P2 ; P3.

0 25 28 39

-Temps dattente:

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

*Ordre dex cution : P2 ; P3 ; P1.

-Temps dattente:

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

| Processus | Temps CPU |

| --- | --- |

| P1 | 25 |

| P2 | 3 |

| P3 | 11 |

| P1 | P2 | P3 |

| --- | --- | --- |

| P1 | P2 | P3 |

| --- | --- | --- |

| 0 | 25 | 28 |

| P1 | P2 | P3 |

| --- | --- | --- |

| 14 | 0 | 3 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

29

<!-- Slide number: 30 -->

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

<!-- Slide number: 31 -->

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.

Publicité

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:

Donner un sch ma illustrant lex cution de ces processus.

| Processus | Temps darriv e | Temps CPU |

| --- | --- | --- |

| P1 | 0 | 5 |

| P2 | 2 | 2 |

| P3 | 4 | 1 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

31

<!-- Slide number: 32 -->

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:

Donner un sch ma illustrant lex cution de ces processus.

| Processus | Temps darriv e | Temps CPU |

| --- | --- | --- |

| P1 | 0 | 5 |

| P2 | 1 | 3 |

| P3 | 2 | 1 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

32

<!-- Slide number: 33 -->

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

Processeur

| P1 | P2 | P3 | & | &. | Pn |

| --- | --- | --- | --- | --- | --- |

Partitionnement du temps du cycle en quantas

> 1 quantum

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

33

<!-- Slide number: 34 -->

16- Algorithmes dordonnancement

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

  • qantum = 2 unit s commutation de contexte

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

Temps dattente moyen : 9.93/3 = 3.31 unit s

  • Si le temps CPU de P1 = 5 &?

| Processus | Temps darriv e | Temps CPU |

| --- | --- | --- |

| P1 | 0 | 2 |

| P2 | 1 | 4 |

| P3 | 3 | 3 |

| P1 | P2 | P3 | P2 | P3 |

| --- | --- | --- | --- | --- |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

34

<!-- Slide number: 35 -->

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:

Priorit avec pr emption :

Priorit sans pr emption :

| Processus | Temps darriv e | Temps CPU | Priorit |

| --- | --- | --- | --- |

| P1 | 0 | 6 | 3 |

| P2 | 1 | 5 | 4 |

| P3 | 4 | 3 | 2 |

| P4 | 4 | 4 | 5 |

Licence appliqu e en TI- Cours Syst mes d'exploitation

Beyaoui Walid

35

Notes: