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).
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 05/05/2004, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/systeme-exploitation-gestion-processus.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.