0% ont trouvé ce document utile (0 vote)
61 vues14 pages

Gestion des Processus Informatiques

Transféré par

adm892522
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
61 vues14 pages

Gestion des Processus Informatiques

Transféré par

adm892522
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

ORDONNANCEMENT DES PROCESSUS

ORDONNANCEMENT DES PROCESSUS

I-Définition
1.Processus
Un processus se définit comme étant un programme en cours
d'exécution. La notion de processus est dynamique : un
processus naît (commence) lors du chargement d’un
programme et meurt (se termine) à la fin de l’exécution du
infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 1/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

programme. Dans les


systèmes multi-programmés et temps-partagé, un processus
peut se trouver dans l’un des états suivants :

1. Élu : si le processus est en cours d'exécution.


2. Bloqué : si le processus est en attente qu’un événement
se produit ou bien d’une ressource pour pouvoir
continuer.
3. Prêt : si le processus dispose de toutes les ressources
nécessaires à son exécution à l'exception du processeur.

2.Ordonnancement
En informatique, l'ordonnancement est le fait d'ordonner
des tâches à exécuter selon certaines contraintes. Les
contraintes peuvent être temporelles ou dimensionnelles.
Dans les systèmes d'exploitation, l’ordonnanceur désigne le
composant du noyau du système d'exploitation choisissant
l'ordre d'exécution des processus sur les processeurs d'un
ordinateur.

À un instant donné, il y a souvent davantage de processus à


exécuter que de processeurs.
Un des rôles de l'ordonnanceur du noyau,
est de permettre à tous ces processus de s'exécuter à un
moment ou un autre et d'utiliser au mieux le processeur pour
l'utilisateur.

II-Les différents types d’ordonnancement


1.Dispatcheur

Il s’occupe de l’allocation du processeur à un processus


sélectionné par l’Ordonnanceur du processeur. Une fois
alloué, le processeur doit réaliser les tâches suivantes :

Commutation de contexte : sauvegarder le contexte du


processus qui doit relâcher le processeur et charger le
contexte de celui qui aura le prochain cycle processeur
Commutation du mode d’exécution : basculer du mode

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 2/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

Maître (mode d’exécution du dispatcheur) en mode


utilisateur (mode d’exécution du processeur utilisateur)
Branchement : se brancher au bon emplacement dans le
processus utilisateur pour le faire démarrer.

2.Scheduleur(ordonnanceur)

Certains systèmes d’exploitation utilisent une technique


d’ordonnancement à deux niveaux qui intègre deux types
d’Ordonnanceurs :

Ordonnanceur du processeur : c’est un Ordonnanceur court


terme opère sur une ensemble du processus présents en
mémoire. Il s’occupe de la sélection du processus qui aura le
prochain cycle processeur, à partir de la file d’attente des
processus prêts.

Ordonnanceur de travail : ou Ordonnanceur long terme,


utilisé en cas d’insuffisance de mémoire, son rôle est de
sélectionné le sous ensemble de processus stockés sur un
disque et qui vont être chargés en mémoire. Ensuite, il
retire périodiquement de la mémoire les processus qui sont
restés assez longtemps et les remplace par des processus
qui sont sur le disque depuis trop de temps.

Nous distinguons plusieurs algorithmes d’ordonnancement,


les plus répandus sont :

Ordonnancement Premier Arrivé Premier Servi (FIFO)

Ordonnancement du plus court d’abord (SJF)

Ordonnancement circulaire : Tourniquet (Round-Robin)

Ordonnancement circulaire à plusieurs niveaux

Ordonnancement avec priorité

III-Critère de scheduling
L'utilisation intensive du processeur : Le système perd
son efficacité si le processeur passe trop de temps à
attendre des E/S
infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 3/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

.Capacité de traitement : C’est la quantité de


processus terminé par unité de temps.
Temps de restitution : C’est le temps s’écroulant entre
la soumission du travail et sa terminaison.
Temps de réponse ou temps de séjour : C’est le temps
passer dans la file d’attente des processus prêts avant
la première exécution. Pour calculer le temps de réponse
moyen (TRM) d’exécution des processus on utilise la
formule suivante :

Avec TRi= temps fin d'exécution - date d'arrivée

Temps d'attente : C'est le temps moyen qu'un


processus passe à attendre.Le temps d’attente moyen
d’exécution des processus (TAM) est calculé comme suit
:

Avec TAi= TRi - temps d'exécution

Les algorithmes d’ordonnancement peuvent être classes en


deux grandes catégories :

Ordonnanceur non préemptif : dans un système à


ordonnancement non préemptif ou sans réquisition le
système d’exploitation choisi le prochain processus à
exécuter et lui alloue le processeur jusqu’à ce qu’il se
termine ou qu’il se bloque. Il n’y a pas de réquisition
même si le processus s’exécuter pendant des heures.

Ordonnanceur préemptif : dans un schéma


d’ordonnanceur préemptif ou avec réquisition le
système d’exploitation peut retirer à n’importe quel
moment le processeur à un processus même si ce
dernier est en cours d’exécution. Au niveau des
algorithmes d’ordonnancement préemptif lorsqu’un
processus est sélectionné il s’exécute pendant un délai

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 4/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

déterminé après ce délai il est remplacé par un autre


processus.

Remarque

Pour représenter schématiquement l’évolution dans le temps des


processus, on recourt habituellement à des diagrammes de Gantt

IV-Les algorithmes d'ordonnancement


1.Ordonnancement FIFO ou FCFS

1.1-Principe

Quand un processus est prêt à s’exécuter, il est mis en


queue de la file d’attente des processus
prêts

Quand le processeur devient libre, il est alloué au


processus se trouvant en tête de file d’attente des
processus prêts.

Le processus élu relâche le processeur s’il se termine ou


s’il demande une entrée sortie.

Cet algorithme est classe dans la catégorie des


ordonnanceurs non préemptifs ou sans réquisitions. Ce qui
veut dire que si un processus est élu, il ne relâche le
processeur que lorsqu'il a fini son exécution.

1.2-Exemple d'algorithme FIFO


Considérons 5 travaux A, B, C, D, E dont le temps
d’exécution respectifs et leur arrivage respectifs sont
données dans le tableau suivant :

Processus Temps d’exécution Temps d’arrivée


A 3 0
B 6 1
C 4 4
D 2 6

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 5/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

E 1 7

En utilisant un algorithme d’ordonnancement FCFS (Fifo)


donnez :

1. le diagramme de Gantt,

2. le temps de séjour de chaque processus,

3. le temps moyen de séjour des processus,

4. le temps d’attente de chaque processus,

5. le temps moyen d’attente des processus

1.3-Résolution

1-diagramme de Gantt

Situation explicative (adaptation de l’énoncé à une


boulangerie) : considérons 5 clients venant acheter des
pains dans une boulangerie dont leur arrivage respectif et le
nombre de pains voulus par chacun sont donnés dans un
tableau (on reprend le tableau précédent et le temps
d'exécution est aussi le nombre de pains(on considère que
pour servir un pain il faut un seconde)).

-A arrive à 0s donc il est servi en premier car étant le


premier arrivé. Il est servi en 3 secondes. Donc son temps
fin "de service" est 3 secondes.

-B arrive à 1s, mais c'est à 3s qu'il se fait servir (principe


fifo). Il est servi en 6s. Donc son temps fin "de service" est
9s.

-C arrive à 4s, mais est servi à 9s. Il est servi en 4s. Donc
son temps fin "de service" est 13s.

On procède de même pour les suivants.

Remarque

on a considéré le temps en seconde (s)

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 6/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

le temps fin "de service" (ou d'exécution dans le cas des


processus) s'obtient en additionnant le temps début "de
service"(correspondant au temps fin du précédent) au
temps "de service"(ou temps d’exécution)

Donc le diagramme est le suivant :

2-temps de séjour de chaque processus

Temps de séjour = temps fin d'exécution - temps d'arrivée

3-temps moyen de séjour

Temps moyen de séjour = somme des temps de séjour de


chaque processus divisée par le nombre de processus.

TMS= (3+8+9+9+9) / 5 = 7.6

4-temps d’attente de chaque processus

Temps d'attente = temps de séjour - temps d'exécution

processus Temps d’attente


A 3-3=0
B 8-6=2
C 9-4=5
D 9-2=7
E 9-1=8

5-temps moyen d'attente

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 7/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

Temps moyen d'attente = somme des temps d'attente


divisée par le nombre de processus

TMA = 22/5 = 4.4

2-Ordonnancement SJF

2.1-Principe

SJF ou SRTF (Shortest Remaining Time first) (plus court


temps d’exécution restant PCTER) choisit de façon
prioritaire les processus ayant le plus court temps
d’exécution sans réellement tenir compte de leur date
d’arrivée.
Les règles régissant cet ordonnancement sont :

Quand un processus est prêt à s’exécuter, il est inséré


dans la file d’attente des processus prêts à sa position
approprie.

Quand le processeur devient libre, il est assigné au


processus se trouvant en tête de la file d’attente des
processus prêts (ce processus possède le plus petit
cycle processeur.). Si deux processus ont la même
longueur de cycle, on applique dans ce cas l’algorithme
FIFO.

Si le système ne met pas en œuvre la réquisition, le


processus élu relâche le processeur s’il se termine ou s’il
demande une entrée sortie. Dans le cas contraire(avec
réquisition), le processus élu perd le processeur
également. Quand un processus ayant un cycle
d’exécution inférieur au temps processeur restant du
processus élu, vient d’entrer dans la file d’attente des
prêts. Le processus élu dans ce cas sera mis dans la file
d’attente des éligibles, et le processeur est alloué au
processus qui vient d’entrer.

Cet Ordonnanceur peut être avec ou sans réquisition

2.2-Exemple d'ordonnancement SJF


infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 8/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

Considérons 5 travaux A, B, C, D, E dont le temps


d’exécution respectifs et leur arrivage respectifs sont
données dans le tableau suivant :

Processus Temps Temps


d’exécution d’arrivée
A 3 0
B 6 1
C 4 4
D 2 6
E 1 7

En utilisant un algorithme d’ordonnancement


SJF en mode non préemptif donnez :

1- le diagramme de Gantt

2-le temps de séjour de chaque processus

3-le temps moyen de séjour des processus

4-le temps d'attente de chaque processus

5-le temps moyen d'attente des processus

2.3-Résolution

1-diagramme de Gantt

Situation explicative : on reprend la situation précédente.

-à 0s, A est le seul présent à la boulangerie donc il sera


servi immédiatement. Il est servi en 3s donc son temps fin
"de service" est de 3s.

-à 3s, B est le seul présent à la boulangerie donc il sera servi


immédiatement. Il est servi en 6s donc son temps fin "de
service" est de 9s.

-lorsque B finit à 9s, on constate que C, D et E sont tous


présents à la boulangerie. Ils seront servis dans l'ordre du
nombre de pains (principe SJF), c'est-à-dire d'abord E
(servi en 1s), ensuite D (servi en 2s) et pour finir C (servi en
4s).

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 9/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

Donc le diagramme de Gantt est le suivant :

Pour le reste des questions, on applique juste les formules


comme dans l'exercice précédent.

2.4- En utilisant un algorithme d’ordonnancement SJF en


mode préemptif (avec requisition) donnez :

1- le diagramme de Gantt

2-le temps de séjour de chaque processus

3-le temps moyen de séjour des processus

4-le temps d'attente de chaque processus

5-le temps moyen d'attente des processus

2.5-Résolution
Situation explicative : on reprend toujours la même situation

-à 0s, A est le seul présent à la boulangerie donc il sera


servi immédiatement. Au bout d'une seconde, on constate
que B est aussi présent. Pour savoir qui exécuter, on se
réfère au nombre de pains. A a moins de pains à acheter que
B donc il va continuer d'être servi et fini à 3s.

-à 3s, B est le seul présent donc il sera servi, mais au bout


de 4s on constate la présence de C. En se référant au
nombre de pains, C à moins de pains à acheter que B. Le servi
de B est alors interrompu(pour le moment) et C est servi. B
s'interrompt après 1s (mais n'a pas fini d'être servi) donc C
commence à 4s.

-C est servi, mais après 2s D est présent. En se référant au


nombres de pains, on constate qu'ils sont à égalité (C a pu
avoir 2 pains avant l'arrivée de D donc il lui reste 2 pains)
alors C continue d'être servi (principe SJF) et finit en 4s.
Son temps fin est 8s.

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 10/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

-à 8s, D, E et B (ah oui! B est en attente car il lui reste 5


pains) sont présents. Ils sont servis en fonction du nombre
croissant de pains. Donc E est d'abord servi et finit à 9s,
ensuite D qui finit à 11s et enfin B qui finit à 16s.

Le diagramme de Gantt est le suivant :

Pour le reste des questions, on applique juste les formules


comme dans l'exercice précédent.

3-Ordonnancement basé sur les priorités

3.1-Principe

L’ordonnancement dans ce cas est régi par les règles


suivantes :

Quand un processus est admis par le système il est


insérer dans la file d’attente des processus prêts à sa
position appropries (selon la valeur de priorité)

Quand le processeur devient libre il est alloue au


processus se trouvant en tête de file d’attente des
processus prêts

Dans un cas de non préemption un processus élu relâche


le processeur que s’il se termine ou se bloque.

Cet Ordonnanceur peut être avec ou sans


réquisition.
Si le système met en œuvre la réquisition, quand un
processus de priorité supérieure à celle du processus élu
entre dans l’état prêt ; le processus élu sera mis dans la file
d’attente des éligibles à la position approprie, et le
processeur est alloué au processus qui vient d’entrer.

3.2-Application : il se fera en exercice. L'exercice sera


donner à la fin du cours.

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 11/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

4-Ordonnancement Round-Robin
4.1-Principe

Cet Ordonnancement est régit par les règles suivantes :

Un processus qui rentre dans l’état éligible est mis en


queue de la file d'attente des prêts.

Si un processus élu se termine ou se bloque avant de


consommer son quantum de temps, le processeur est
immédiatement alloué au prochain processus se trouvant
en tête de la file d'attente des prêts.

Si le processus élu continue de s'exécuter au bout de


son quantum, dans ce cas le processus sera interrompu
et mis en queue de la file d'attente des prêts et le
processeur est réquisitionné pour être ré-alloué au
prochain processus en tête de cette même file
d’attente.

Il est uniquement avec réquisition.

4.2-Application : il se fera en exercice. L'exercice sera


donner à la fin du cours.

Exercices

Considérons 5 travaux A, B, C, D, E dont le temps


d’exécution respectifs et leur arrivage respectifs sont
données dans le tableau suivant :

Processus Temps Temps


d’exécution d’arrivée
A 3 0
B 6 1
C 4 4
D 2 6
E 1 7

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 12/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

1) En utilisant un algorithme d’ordonnancement basé sur des


priorités en mode non préemptif et en mode préemptif
donnez :

1- le diagramme de Gantt

2-le temps de séjour de chaque processus

3-le temps moyen de séjour des processus

4-le temps d'attente de chaque processus

5-le temps moyen d'attente des processus

2) En utilisant un algorithme d’ordonnancement circulaire de


quantum Q = 2 donnez :

1- le diagramme de Gantt

2-le temps de séjour de chaque processus

3-le temps moyen de séjour des processus

4-le temps d'attente de chaque processus

5-le temps moyen d'attente des processus

Correction

la correction se fera en ligne au près des contacts suivants :

-Jean Luc: 07 46 69 96 ou 53 65 65 52

-Touré Lamagnigui: 09 41 64 02

-Qouddouss: 59 99 66 99 ou 53 65 65 95

NB: Essayez vous-même de faire les exercices en vous


inspirant de la logique présentée dans les applications qui ont
été corrigées.

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 13/14
22/03/2024 04:13 ORDONNANCEMENT DES PROCESSUS

infofacile.over-blog.com/2017/10/ordonnancement-des-processus.html 14/14

Vous aimerez peut-être aussi