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.
| Orienté utilisateur | orienté système |
Demande de performances | Temps de réponse très court
Temps d'exécution court (turnaround time)
Moment maximum d'exécution (deadline) |
Capacité de travail importante
Rentabilité du processeur |
Autres critères de qualité | Temps d'attentes prévisibles | Partage équitable du temps 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.