Toutes les applications semblent s'exécuter simultanément, qu'elles soient relatives au système d'exploitation ou qu'elles
aient été lancées par les utilisateurs.
Cela n'est pas véritablement le cas. L'ordinateur n'exécute qu'une application à tout instant, mais switche de manière très
rapide entre elles par affectation successive de temps de calcul donnant l'impression qu'elles s'exécutent en même temps.
Deux types de multi-tâches:
-
Multitâche préemptif: Le système d'exploitation gère l'attribution des temps de calcul aux applications sans que celles-ci
aient à s'occuper de quoi que ce soit (elles ne peuvent pas l'empêcher). Toute application peut fonctionner en multitâche
dans ce cadre.
-
Multitâche non-préemptif: Les applications rendent elles-mêmes la main au système d'exploitation et gèrent leurs contextes
d'exécution. Les applications doivent être conçues spécifiquement dans ce cadre, sinon le multitâche ne fonctionne pas.
Gestion du multitâche préemptif au sein de Windows.
Démon (deamon) : Application généralement liée au système d'exploitation fonctionnant en tâche de fond
avec ou sans action à l'écran.
Nom du fichier exécutable généralement terminé par le caractère 'd' (Exemple : httpd, inetd, snbd, lpd, ...).
Thread : Un développeur peut concevoir une application sous la forme d'un programme maître P créant lui-même
des sous-programmes SPi identiques ou non s'exécutant indépendamment et parallèlement au sein de la zone mémoire
associée à P : des threads (processus léger).
L'un des intérêts des threads est que le père et ses fils partagent la même zone mémoire facilitant ainsi le partage d'informations
entre eux (aucun contrôle, aucune impossibilité). Ceci peut aussi être un inconvénient car le système ne gère aucune protection
des données -> possibilité d'anarchie.
Existence de priorités attribuées par le système d'exploitation (modifiables par l'administrateur) pour gérer l'ordonnancement
de l'attribution de temps CPU aux applications et à leurs threads. Ces priorités sont primordiales pour le bon fonctionnement
du système d'exploitation. |