Ordonnancement dans les systèmes d'exploitation

Un article de Freepedia.

L'ordonnancement dans les systèmes d'exploitation désigne le module du système d'exploitation qui choisit les processus qui vont être exécutés par les processeurs d'un ordinateur.

En anglais, la partie du système destinée à accomplir cette tâche est appelée scheduler.

Sommaire

Principe

Un processus peut avoir besoin de la ressource processeur pour par exemple effectuer des calculs, déclencher une interruption, etc. A un instant donné, il est possible qu'il y ait plus de processus demandant la main qu'il n'y a de processeur. Ce mécanisme est particulièrement sensible sur les machines mono-processeur. Un des rôles du système d'exploitation est donc de permettre à tous ces processus en attente de pouvoir utiliser le processeur de manière equitable.

Pour cela, à intervalle régulier, le système appelle une procédure d'ordonnancement qui élit le processus à exécuter. Si le nouveau processus est différent de l'ancien alors survient un changement de contexte, opération qui consiste à sauvegarder les données relatives à l'ancienne tâche, comme par exemple, les zone mémoire du processus, le pointeur de programme. Cette structure de données est généralement appelée PCB. Le système d'exploitation restaure le PCB de la nouvelle tâche.

Types d'algorithmes

Du choix de l'algorithme d'ordonnancement dépend le comportement du système. Il existe deux grandes classes d'ordonnancement.

L'ordonnancement en temps partagé

Il est présent sur la plupart des ordinateurs « classiques ». Par exemple l'ordonnancement « decay »; qui est celui par défaut sous Unix. Il consiste en un système de priorités adaptatives, par exemple il privilégie les tâches interactives pour que leur temps de réponse soit bon. Une sous-classe de l'ordonnancement en temps partagé sont les ordonnanceurs dits « proportional share », eux sont plus destinés aux stations de calcul et permettent une gestion rigoureuse des ressources. On peut citer notamment « lottery » et « stride ».

L'ordonnancement en temps réel

Il fournit la certitude qu'une certaine tâche sera terminée à un instant donné. Ceci est très recherché dans les systèmes embarqués.

Algorithmes d'ordonnancement

Bibliographie

  • Joseph Y-T. Leung, Handbook of Scheduling: Algorithms, Models, and Performance Analysis, Chapman & Hall/CRC Computer & Information Science Series, 2004.
  • J. Stankovic et al., Deadline Scheduling for Real-Time Systems, Kluwer Aacademic, Boston, 1998, ISBN 0-7923-8269-2

Voir aussi

Lien interne

Image:Symbole-ordinateur.png Portail Informatique - Accédez aux articles de Wikipédia concernant l'informatique.


Views
Outils personels
Boîte à outils
Autres langues
Autres Liens