Gestion de processus (process scheduling)
Types de gestion processus
Dans la notion de scheduling, nous retrouvons tout ce qui se rapporte à la gestion des files (FIFO). Nous avons vu dans la partie qui concerne le mutliprogramming, que l'illusion de l'exécution simultanée de plusieurs processus pouvait résulter de la gestion du partage du temps du processeur gràce aux files.
Le système d'exploitation n'utilise cependant pas une seule méthode de gestion des files, et nous retrouvons donc 4 types de schedulers :
- Long-term scheduling
- Medium-term scheduling
- Short-term scheduling
- I/O scheduling
Long-term scheduling
Type utilisé quand un nouveau processus est créé.
Medium-term scheduling
Partie de la fonction de swapping, qui consiste à permuter un processus entre les états bloqué, bloqué suspendu, prêt suspendu, et prêt. Ce sont principalement les permutations entre mémoire primaire et mémoire secondaire qui sont gérées.
Short-term scheduling
Le short-term scheduling est la gestion des passages entre les états prêt (ready) et en exécution (running). Nous pouvons considérer que c'est la prise de décision actuelle de quel processus prêt sera exécuté au prochain temps du processeur.
Dans le short-term scheduling, nous retrouvons deux types de processus :
- CPU bound : C'est un type de processus long. Quand le processus atteint le processeur, il reste jusqu'au moment où le quantum est atteint. Par exemple le calcul d'une racine carrée.
- I/O bound : Type de processus court. Son exécution peut durer plus longtemps qu'un processus long, mais du point de vue du processeur, il reste peu de temps dans le scheduler car il est souvent en attente d'entrées/sorties. Le quantum n'est pas souvent atteint qu'il est déjà sorti du scheduler.
Short-term scheduling
Critères de gestion
Nous devons nous baser sur deux grands axes pour déterminer la manière d'optimiser le comportement du scheduler du système d'exploitation :
- Orienté utilisateur ou orienté système.
- Prise en compte des performances, ou non.
Temps d'exécution court (turnaround time)
Moment maximum d'exécution (deadline) | Capacité de travail importante
Rentabilité du processeur |
Priorités d'utilisation
Occupation des ressources |
Temps de réponse : l'utilisateur désire que l'action débute immédiatement quand il la provoque.
Temps d'exécution (turnaround time) : c'est l'intervale de temps entre la demande d'une tàche et l'achèvement de son exécution.
Moment maximum d'exécution (deadlines) : c'est la limite de temps accordée à l'exécution d'une tàche. Il ne s'agit pas ici de durée de la tàche, mais elle doit être achevée au plus tard pour un moment bien précis.
Prévisibilité (predictability) : c'est la possibilité de déterminer le temps d'exécution d'un processus. Peu importent les conditions, ce temps doit dans ce cas supporter le moins d'écarts possibles.
Capacité de travail (troughput) : la charge de travail (combien de processus peuvent se trouver en même temps dans la zone short-scheduling).
Rentabilité du processeur : le temps d'exécution d'un processus en particulier peut être légèrement plus lent, du moment que le processeur soit occupé un maximum avec les différents processus.
Mode de décision
Nous pouvons classer les processus selon la manière dont ils sont gérés par les systèmes d'exploitation :
- coopératif : le processus dans la file d'entrée du cpu peut bénéficier du temps processeur tant qu'il l'utilise (il ne l'utilise plus s'il est en attente d'un évènement, ou d'I/O). Le désavantage de ce type de gestion est qu'un processus peut bloquer complètement le système.
- préemptif : le système d'exploitation gère les temps d'exploitation du cpu par les processus.
Ce type de gestion introduit la notion de temps que peut passer un processus dans le processeur (quantum), et de priorité.
La priorités en cas de système préemptif peut être statique ou dynamique (la priorité peut varier en fonction de la charge du processeur). Ces deux types de priorités sont subdivisés en interne (dépendante du processus) ou externe (selon les caractéristiques utilisateur).
Version en cache
21/12/2024 15:42:15 Cette version de la page est en cache (à la date du 21/12/2024 15:42:15) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 05/05/2004, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/systeme-exploitation-gestion-processus.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.