Préemptif

Un article de Wikipédia, l'encyclopédie libre.

[modifier] Principe de fonctionnement

Se dit de l'ordonnanceur du système d'exploitation d'un ordinateur. 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, une tâche peut être spécifiée comme préemptive ou non préemptive. Dans le premier cas, une tâche peut être mise à l'état « ready » au profit d'une tâche de priorité plus élevée ou d'une interruption. Dans le second cas, une tâche ne peut être suspendue qu'au profit d'une interruption.

[modifier] 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.

A titre d'exemple, on peut citer parmi les systèmes d'exploitation collaboratifs : tous les systèmes d'exploitation de Microsoft jusqu'à Windows 98 (incluant Windows 3.1 et Windows 95) ; parmi les systèmes d'exploitation préemptifs comptent : tous les systèmes d'exploitation à partir de Windows 2000 (dont Windows XP et Windows Vista), les systèmes Unix, tel que Mac OS X et Linux, le système AmigaOS.

Attention, il ne s'agit pas de collaboratif mais de coopératif... À partir de Windows 95, les systèmes Windows adoptent le noyau Win32 et se révèlent préemptifs même si l'efficacité d'un tel multi-tâches est discuté au sein de la communauté (au moins pour les versions 95, 98 et Me).