Académique Documents
Professionnel Documents
Culture Documents
• Ordonnancement de processus
• Synchronisation de processus
• Processus/programme
• Table de processus/Espace d’adressage/PCB
• Préemptif/ non préemptif
• États d’un processus: prêt, en exécution, en attente, terminé
• Orphelin
• Zombie
Un processus est un programme qui s’exécute et possède son propre compteur ordinal et ses variables.
Chaque processus possède un espace d’adressage, c’est-à-dire un ensemble d’adresses mémoire dans
lesquelles il peut lire et écrire.
Adresses
Cet espace est divisé en trois parties : Pile
Segment de texte
Pour chaque processus le système d’exploitation maintient des informations qui sont rangées dans
un PCB :
Regitres du
CPU(Accumlateurs, Adresse de l’instruction
regitres d’index,,,,) suivante à exécuter
Interruption
le processeur)
Créé
1 3 terminé 3 Le processus se bloque en attente
de ressource (donnée, …)
Prêt
4 Réveil du processus bloqué
bloqué
4 5 Le processus est terminé
normalement
En exécution = élu
Bloqué = en attente
chapitre 2 : Gestion de processus 7
Ordonnancement de processus
Ordonnanceur (scheduler)
L'ordonnanceur (scheduler en anglais) est un programme du SE qui s'occupe de choisir, selon une
politique (ou algorithme) d'ordonnancement donnée, un processus parmi les processus prêts pour lui
affecter le processeur.
FCFS (First Come First Served) / FIFO ( First In/ First Out)
Non préemptif
L’ordre est celui de l’arrivée des processus dans la file des processus prêts.
Le mode de décision est non préemptif;
la règle d’arbitrage est le choix au hasard pour des processus qui arrivent au même moment.
LIFO ( Last In / First Out)
Diagramme de Gantt
P1 P2 P3
On suppose que le temps total de service (ou temps d’exécution) t est connu à l’avance.
Celui qui a t minimale est servi en premier
Le mode de décision est non préemptif.
La règle d’arbitrage est la chronologie ou le choix au hasard.
La difficulté est évidemment l'estimation du temps de service
Diagramme de Gantt
P3 P1 P2
P2 1 5 ms
P3 0 2 ms
Diagramme de Gantt
P3 P1 P2
t=0 t=2 t=6 t=11
Diagramme de Gantt
P3 P3 P1 P2
t=0 t=1 t=2 t=6 t=11
P3 P3 P1 P4 P4 P1 P1 P1 P2
t=0 t=1 t=2 t=3 t=5 t=8 t=13
Non préemptif
Un processus qui n'attend pas possède un rapport de 1 (cas notamment d'un processus qui vient
d'entrer dans le système) ;
un processus qui attend longtemps possède un rapport P bien plus grand que 1.
préemptif
Un quantum de temps Q est imposé. Lorsqu’un processus actif a consommé son quantum Q, il doit
quitter le processeur et est placé en queue de la file de processus prêts.
Le quantum Q peut être constant dans le temps ou varier avec la charge du système
Très utilisé dans les systèmes en temps partagé.
H D B Fin
F A Processeur
Processus suspendu
Diagramme de Gantt
P1 P2 P1 P3 P2
T=0: P1; T=1 vide; t=2 :P1,P2, t=3: P3,P1, t=4:P2,P3, t=6: P2, t=8:P2, t=10:P2
Temps t’attente par processus : attente(P1) = (0+2)=2; attente(P2) = 0+4=4 ; attente(P3) = 3
Pour chaque niveau i est défini un temps Ti qui est le temps maximum d’utilisation du
processeur au niveau i (Qi).
Priorité = 0 Q1 = 8
Priorité = 1 Q2 = 12
Priorité = 2
FCFS
En pratique...
Les algorithmes que nous avons vu sont tous utilisés en pratique (sauf SJF qui est impossible)
Les SE sophistiqués fournissent au scheduler une librairie d’algorithmes, qu’il peut choisir et
Pour chaque algorithme, plusieurs paramètres sont disponibles, ex. durée de Q, etc.