Multitâche
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Multitâche préemptif

Pour remédier à cette situation, les systèmes grand-public ont évolué pour utiliser une approche nommée « multitâche préemptif ».
Dans un tel système, le processeur signale au système d’exploitation que le processus en cours d’exécution doit être mis en pause pour permettre l’exécution d’un autre processus. Le système doit alors sauver l’état du processus en cours (le compteur ordinal, les valeurs des registres) ; le processus est placé dans une file d’attente ; lorsqu’il est en bout de file, son contexte (Le contexte d'un évènement inclut les circonstances et conditions qui l'entourent; le contexte d'un mot, d'une phrase ou d'un texte inclut les mots qui l'entourent....) d’exécution est restauré. À la différence du « multitâche coopératif », du point (Graphie) de vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et l'interprétation des rayonnements lumineux.) des programmes préemptés, la commutation de contexte (Une commutation de contexte (context switch) en informatique consiste à sauvegarder l'état d'un processus ou d'un processus léger et à restaurer l'état d'un autre...) est transparente.

Unix (1969) et ses dérivés (BSD en 1977, Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné comme le...) en 1991, ...) sont des systèmes basés sur le multitâche préemptif (Le traitement multitâche préemptif est une forme de traitement multitâche. Son but est de partager les temps de calcul des diverses tâches (programmes) à exécuter par le processeur d'un ordinateur.).

L’AmigaOS est un système multitâche (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...) préemptif depuis sa naissance en 1985. D’autres systèmes d’exploitation le sont devenus comme Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées aux machines compatibles PC. C'est le remplaçant de MS-DOS. Depuis les années 1990, avec la sortie de...) (avec Windows NT 3.1 en 1993 pour les professionnels et Windows 95 en 1995 pour le grand public) et MacOS X en 2001.

Comparaison

Le multitâche préemptif est plus robuste que le multitâche coopératif : une tâche ne peut bloquer l’ensemble du système. Le système d’exploitation peut aussi utiliser plus efficacement les ressources disponibles, par exemple si des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) sont disponibles via un périphérique d’entrée, le processus devant traiter ces données peut être immédiatement activé.
De plus, une tâche en attente de données ne consommera pas de temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) processeur (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de l'ordinateur qui...) avant que ses données ne soient réellement disponibles.

Bien que, au départ, le multitâche ait été conçu pour permettre à plusieurs utilisateurs d’utiliser le même ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits électroniques permettant de manipuler des...), il est apparu très rapidement qu’il était très pratique même pour un seul utilisateur. Utiliser son traitement de texte favori tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) en butinant sur le Web est de nos jours (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent...) une caractéristique incontournable.

Une autre utilité du multitâche provient du fait qu’il est plus facile de concevoir et d’écrire plusieurs programmes simples, plutôt qu’un seul programme capable de tout faire, puis de les faire coopérer pour effectuer les tâches nécessaires.

Les algorithmes implémentant le multitâche ont été raffinés au cours du temps. Les systèmes modernes peuvent gérer des processus avec des priorités différentes ainsi que des ordinateurs comportant de un à quelques centaines de processeurs.

La technologie (Le mot technologie possède deux acceptions de fait :) des processus légers (en anglais : threads) a été permise grâce à la présence de gestionnaires de mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) évolués. Les processus légers partagent toute ou partie de la mémoire d’un processus existant. Ce partage permet, entre autres, une commutation de contexte plus rapide et un partage de données plus efficace entre les processus légers. En contrepartie, de tels programmes peuvent être plus complexes et peuvent se montrer difficiles à mettre au point.

Une autre innovation clé a été l’introduction des niveaux de privilèges : les processus possédant un niveau de privilège bas ne peuvent pas effectuer certaines opérations, par exemple écrire sur des portions de mémoire vitales (Les Vitales sont un ordre de plantes dicotylédones. Cet ordre a été réintroduit dans la Angiosperm Phylogeny Website et ne comprend qu'une seule famille :) pour la sécurité du système.

Si un tel processus effectue une opération interdite, le programme est interrompu et un programme superviseur (souvent le système d’exploitation) préempte le processus en cours, puis l’arrête définitivement. Cette technique permet de créer des machines virtuelles où le système « réel » émule le fonctionnement d’une ou plusieurs machines virtuelles, par exemple afin d’accroître la sécurité (une machine virtuelle (Le sens originel de machine virtuelle (ou Virtual Machine (VM) en anglais) est la création de plusieurs environnements d'exécution sur un seul ordinateur, dont chacun...) ne peut pas interférer avec une autre machine virtuelle).

Page générée en 0.078 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique