Ordonnanceur

Ordonnanceur

Ordonnancement dans les systèmes d'exploitation

Page d'aide sur l'homonymie Pour les articles homonymes, voir Ordonnancement.

Dans les systèmes d'exploitation, l’ordonnanceur désigne le composant du noyau du système d'exploitation qui choisit les processus qui vont être exécutés par les processeurs d'un ordinateur.

En anglais, l'ordonnanceur est appelé scheduler.


Un processus peut avoir besoin de la ressource processeur pour, par exemple, effectuer des calculs, déclencher une interruption, etc. La plupart des composants matériel, et en particulier le processeur d'un ordinateur, n'est pas capable d'effectuer plusieurs traitements simultanément. Pour la très grande majorité des ordinateurs, avoir un seul processeur implique de ne pouvoir effectuer qu'un traitement à la fois.
Or, à un instant donné, il est possible qu'il y ait plus de processus à exécuter qu'il n'y a de processeurs. Il est courant que de nombreux programmes soient exécutés en parallèle sur une machine mono processeur.

Un des rôles du système d'exploitation, et plus précisément de l'ordonnanceur du noyau, est de permettre à tous ces processus de s'exécuter et d'utiliser le processeur de manière optimale du point de vue de l'utilisateur. Pour arriver à donner l'illusion que plusieurs tâches sont traitées simultanément, l'ordonnanceur du noyau du système s'appuie sur les notions de commutation de contexte et d'ordonnancement.

Sommaire

Commutation de contexte et élection

Article détaillé : Commutation de contexte.

Pour effectuer ces tâches, l'ordonnanceur procède de la manière suivante : à intervalles réguliers, 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 le contexte d'exécution de l'ancienne tâche, comme par exemple, les registres du processeur. 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.

Exemple

Si n tâches doivent être exécutées de manière simultanée et qu'il est physiquement impossible pour l'ordinateur de traiter plus d'une tâche simultanément, le noyau commute rapidement le contexte d'exécution des n tâches, de manière à ce que :

  • une seule tâche soit exécutée à la fois ;
  • globalement toutes les tâches soient exécutées.

Par exemple, avec 3 tâches cela peut se décomposer par

  1. Sauvegarde par le noyau des contextes d'exécutions de 3 tâches,
  2. commutation de contexte et élection de la nouvelle tâche n°1
    • Chargement par le noyau du contexte de la tâche 1.
    • Exécution des instructions de la tâche 1 pendant x milli-secondes
    • Sauvegarde du contexte de la tâche 1
  3. commutation de contexte et élection de la nouvelle tâche n°2
    • Chargement par le noyau du contexte de la tâche 2.
    • Exécution des instructions de la tâche 2 pendant x milli-secondes
    • Sauvegarde du contexte de la tâche 2
  4. commutation de contexte et élection de la nouvelle tâche n°3
    • Chargement par le noyau du contexte de la tâche 3.
    • Exécution des instructions de la tâche 3 pendant x milli-secondes
    • Sauvegarde du contexte de la tâche 3
  5. commutation de contexte et élection de la nouvelle tâche n°1
    • Chargement par le noyau du contexte de la tâche 1.
    • Exécution des instructions de la tâche 1 pendant x milli-secondes
    • Sauvegarde du contexte de la tâche 1

(3 tâches ordonnancées avec l'algorithme Round-robin (Chacun son tour)).

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

Article détaillé : Système 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.

Optimalité

Un ordonnanceur temps réel est dit optimal pour un système de tâches s'il trouve une solution d'ordonnancement du système si cette solution existe. S'il ne trouve pas de solution à ce système, alors aucun autre ordonnanceur ne peut en trouver une.

Algorithmes d'ordonnancement

Stratégies d'ordonnancement

  • Ordonnancement sans réquisition
  • Ordonnancement avec réquisition

Logiciels

  • Bdoc-Online (Business Document)

Articles connexes

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
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Ordonnancement dans les syst%C3%A8mes d%27exploitation ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Ordonnanceur de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • ordonnanceur — ● n. m. ►SYSTM Programme se chargeant, dans un système multitâche, de distribuer le temps de calcul aux différents programmes (plus précisément aux processus), assurant donc leur ordonnancement. Autre syn.: dispatcheur, séquenceur …   Dictionnaire d'informatique francophone

  • Ordonnancement multicœur soucieux des caches et équilibrage de charge — L ordonnancement multicœur soucieux des caches et équilibrage de charge est une problématique importante dans la conception des systèmes d exploitation destinés à gérer des microprocesseurs multi cœurs. L évolution des matériels depuis des… …   Wikipédia en Français

  • Logiciel d'exploitation — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Operating System — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Operating system — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Operating systems — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Systeme D'exploitation — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Systeme d'exploitation — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Système d’exploitation — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

  • Systèmes d'exploitation — Système d exploitation Pour les articles homonymes, voir SE et OS. système d exploitation et logiciels applicatifs Le …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”