Multi-tâche préemptif

Multi-tâche préemptif

Multitâche préemptif

Page d'aide sur l'homonymie Pour les articles homonymes, voir Préemption.

En informatique, la préemption est la capacité d'un système d'exploitation multitâche à exécuter ou stopper une tâche planifiée en cours en faveur d'une tâche de priorité supérieure.

Un ordonnanceur préemptible présente l'avantage d'une meilleure réactivité du système et de son évolution, mais l'inconvénient vient des situations de compétition (lorsque le processus d'exécution accède à la même ressource avant qu'un autre processus (préemptif) ait terminé son utilisation).

Principe de fonctionnement

L'ordonnanceur distribue le temps du processeur entre les différents processus. Dans un système préemptif, à l'inverse d'un système collaboratif, l'ordonnanceur peut interrompre à tout moment une tâche en cours d'exécution pour permettre à une autre tâche de s'exécuter.

Dans un système d'exploitation multitâche préemptif, les processus ne sont pas autorisés à prendre un temps non-défini pour s'exécuter dans le processeur. Une quantité de temps définie est attribuée à chaque processus ; si la tâche n'est pas accomplie avant la limite fixée, le processus est renvoyé dans la pile pour laisser place au processus suivant dans la file d'attente, qui est alors exécuté par le processeur. Ce droit de préemption peut tout aussi bien survenir avec des interruptions matérielles.

Certaines tâches peuvent être affectées d'une priorité ; une tâche pouvait être spécifiée comme « préemptive » ou « non préemptive ». Une tâche préemptive peut être suspendue (mise à l'état « ready ») au profit d'une tâche de priorité plus élevée ou d'une interruption. Une tâche non préemptive ne peut être suspendue qu'au profit d'une interruption. Le temps qui lui est accordé est plus long, et l'attente dans la file d'attente plus courte.

Au fur et à mesure de l'évolution des systèmes d'exploitation, les concepteurs ont quitté la logique binaire « préemptive / non préemptive » au profit de système plus fins de priorités multiples. Le principe est conservé, mais les priorités des programmes sont échelonnées.

Pendant la préemption, l'état du processus (drapeaux, registres et pointeur d'instruction) est sauvé dans la mémoire. Il doit être rechargé dans le processeur pour que le code soit exécuté de nouveau : c'est la commutation de contexte.

Quelques exemples

Concrètement, un système d'exploitation préemptif conserve en permanence la haute main sur les tâches exécutées par le processeur, contrairement à un système d'exploitation non préemptif, ou collaboratif, dans lequel c'est le processus en cours d'exécution qui prend la main et est seul juge du moment où il la rend. L'avantage le plus évident d'un système préemptif est qu'il peut en permanence décider d'interrompre un processus, principalement si celui-ci échoue et provoque l'instabilité du système.

Les premiers systèmes d'exploitation Windows de Microsoft (Windows 3.1) étaient des systèmes collaboratifs. Windows 95, Windows 98 et Windows Me, s'ils adoptent le noyau Win32 qui pourrait les classer parmi les systèmes préemptifs, conservent néanmoins, pour raison de compatibilité ascendante avec Windows 3.1, un mode coopératif dans lequel ils basculent dès qu'une application 16 bits est exécutée. Ce mode de fonctionnement rend ces systèmes d'exploitation peu fiables et fait que les entreprises s'en détourneront pour s'orienter vers des solutions totalement préemptives[réf. nécessaire]. Tous les systèmes d'exploitation modernes (Windows 2000, Windows XP et Windows Vista, les systèmes Unix, tel que Mac OS X et Linux, le système AmigaOS) sont des systèmes préemptifs.

Voir aussi

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Multit%C3%A2che pr%C3%A9emptif ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Multi-tâche préemptif de Wikipédia en français (auteurs)

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

Regardez d'autres dictionnaires:

  • Multi-tâche — Multitâche En informatique, un système d’exploitation est dit multitâche (en anglais multi task) s’il permet d’exécuter, de façon apparemment simultanée, plusieurs programmes sur un ordinateur. On parle également de multiprogrammation. Le terme… …   Wikipédia en Français

  • Multi-tâches — Multitâche En informatique, un système d’exploitation est dit multitâche (en anglais multi task) s’il permet d’exécuter, de façon apparemment simultanée, plusieurs programmes sur un ordinateur. On parle également de multiprogrammation. Le terme… …   Wikipédia en Français

  • Multi-thread — Processus léger Pour les articles homonymes, voir Processus, Léger, Thread et Fil. Un processus avec deux process …   Wikipédia en Français

  • OSEK — OSEK/VDX OSEK est le sigle pour « Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug », en français Systèmes ouverts et interfaces correspondantes pour l’électronique des véhicules automobiles. OSEK a été créé… …   Wikipédia en Français

  • OSEK/VDX — Pour les articles homonymes, voir Osek. OSEK est le sigle pour « Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug », en français Systèmes ouverts et interfaces correspondantes pour l’électronique des véhicules …   Wikipédia en Français

  • Type Unix — Graphique montrant les relations entre les différents systèmes de types Unix existants. Un système d’exploitation de type Unix est un système d’exploitation qui se comporte d’une façon semblable à un système Unix, bien que n’étant pas… …   Wikipédia en Français

  • Carl Sassenrath — Naissance 1957 Californie (États Unis) Domicile Ukiah Nationalité américaine Institution …   Wikipédia en Français

  • Dingoo — A320 ██████████1 …   Wikipédia en Français

  • Dingoo A320 — Fabricant Shenzhen Dingoo Digital Type Console portable Génération Septième Processeur …   Wikipédia en Français

  • Multitâche — Pour les articles homonymes, voir Multitâche (homonymie). Un système d exploitation est multitâche en anglais : multi task s’il permet d’exécuter, de façon apparemment simultanée, plusieurs programmes informatiques. On parle également de… …   Wikipédia en Français

Share the article and excerpts

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