Recherchez sur tout Techno-Science.net
       
Techno-Science.net : Suivez l'actualité des sciences et des technologies, découvrez, commentez
Catégories
Techniques
Sciences
Encore plus...
Techno-Science.net
Bons plans et avis Gearbest: Xiaomi Mi Mix2, OnePlus 5T
Code promo Gearbest: réduction, coupon, livraison...
Photo Mystérieuse

Que représente
cette image ?
 A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | +
Multitâche

Introduction

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 multiprogrammation.

Cette fonction est indépendante du nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de processeurs présents physiquement dans l’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...) (un système multiprocesseur n'est pas nécessaire pour exécuter un système d'exploitation multitâche).

Concept

La simultanéité apparente est le résultat de l’alternance rapide d’exécution des processus présents en mémoire. Le passage de l’exécution d’un processus à un autre est appelé 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...). Ces commutations peuvent être initiées par les programmes eux-mêmes (multitâche coopératif) ou par le système d’exploitation lors d’événements externes (multitâche préemptif).

Multitâche coopératif

Le multitâche coopératif est une forme simple de multitâche où chaque processus doit explicitement permettre à une autre tâche de s’exécuter. Il a été utilisé, par exemple, dans les produits Microsoft Windows (Windows (littéralement « Fenêtres » en anglais) est une gamme de systèmes d’exploitation produite par Microsoft, principalement destinés aux ordinateurs compatibles PC....) jusqu’à 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...) 3.11 ou dans Mac OS (Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses ordinateurs Macintosh. Il est surtout connu pour être le premier système grand public ayant...) jusqu’à Mac OS 9. Cette approche simplifie l’architecture (L’architecture peut se définir comme l’art de bâtir des édifices.) du système d’exploitation mais présente plusieurs inconvénients :

  • Si un des processus ne redonne pas la main (La main est l’organe préhensile effecteur situé à l’extrémité de l’avant-bras et relié à ce dernier par le poignet. C'est un organe...) à un autre processus, par exemple si le processus est bugué, le système entier peut s’arrêter.
  • Le partage des ressources (temps CPU, mémoire, accès disque (Le mot disque est employé, aussi bien en géométrie que dans la vie courante, pour désigner une forme ronde et régulière, à l'image d'un palet — discus en latin.), etc.) peut être inefficace.
  • Le multitâche coopératif est une forme de couplage fort.

Historique

Le premier ordinateur multitâche dans le monde (Le mot monde peut désigner :) a été conçu par la firme Bull (Bull est une société française spécialisée dans l'informatique professionnelle.) en 1958. Il s’agissait du Gamma 60. Cet ordinateur ne possédait toutefois pas encore de langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une machine,...) (logiciel, software en anglais) à la hauteur (La hauteur a plusieurs significations suivant le domaine abordé.) des performances du système d’exploitation (matériel informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information par des machines...), hardware en anglais).

Les systèmes multitâches se sont ensuite répandus dans le courant des années 1960 sous le nom de systèmes à temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) partagé. Ils permettaient à plusieurs utilisateurs de travailler sur la même (grosse, selon les critères de l’époque) machine.

Cas particuliers

Le cas de Windows 95 (ainsi que de windows 98 et ME) est particulier dans le 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. Le concept de contexte...) du multitâche. Ces systèmes embarquent en effet un multitâche « hybride », dans certains cas agissant en multitâche préemptif, dans d'autres, en multitâche coopératif. La conception de ces systèmes d'exploitations était en effet régie par la nécessité de faire fonctionner des programmes conçus pour Windows 3.X (multitâche coopératif) en parallèle avec des exécutables exclusivement conçus pour Windows NT/95 (multitâche préemptif). Les programmes conçus pour un système multitâche coopératif ne pouvant pas fonctionner nativement en mode préemptif (pour des raisons de compatibilité avec les logiciels plus anciens), l'ordonnanceur de Windows a donc été conçu de manière à désactiver le mode préemptif lors de l'exécution de code « coopératif ». De cette manière, tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) exécutable / bibliothèque conçu pour Windows 3.1 fonctionne sous Windows 95 en mode coopératif et tout exécutable / bibliothèque conçu exclusivement pour Windows 95 / NT fonctionne en mode préemptif.

Les effets de ce multitâche hybride (En génétique, l'hybride est le croisement de deux individus de deux variétés, sous-espèces (croisement intraspécifique),...) sont observables lorsque l'on utilise des exécutables / bibliothèques compilés d'un côté pour Windows 3.X (Win16), et d'un autre côté pour Windows 95/NT (Win32). Prenons par exemple le cas d'un exécutable dont le code a été conçu de manière à rester bloqué dans une boucle sans fin. Si la boucle sans fin est placée dans un exécutable Win32 et que le programme est lancé, Windows reste réactif et il est toujours possible d'utiliser d'autres programmes en parallèle (la boucle sans fin est donc préemptée par le système). Si la boucle sans fin est placée dans un exécutable Win16 et que le programme est lancé, Windows reste « figé » ainsi que tous les programmes précédemment lancés, et seule une action ctrl+alt+suppr permettra de « récupérer » le système. Dans ce mode, le système ne préempte plus et attend que le programme rende la main. Plusieurs programmes Win32 font appel à des bibliothèques Win16 lors de leur fonctionnement, rendant leur fonctionnement complètement « hybrides » : préemptifs lors de l'exécution de code Win32 et coopératifs lors de l'exécution de la bibliothèque Win16, le système s'assurant de passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) d'un mode à l'autre de manière transparente.

Cette particularité ne s'applique pas à Windows NT/2000/XP qui utilisent un système de virtualisation (La virtualisation consiste à faire fonctionner sur un seul ordinateur plusieurs systèmes d'exploitation comme s'ils fonctionnaient sur des ordinateurs...) (Win16 on Win32 / WoW) pour effectuer les mêmes opérations.

Source: Wikipédia publiée sous licence CC-BY-SA 3.0. Vous pouvez soumettre une modification à cette définition sur cette page.

La liste des auteurs de cet article est disponible ici.
Vendredi 24 Novembre 2017 à 00:00:12 - Energie - 0 commentaire
» Une start-up pour des batteries de plus en plus rapides
Jeudi 23 Novembre 2017 à 00:00:06 - Vie et Terre - 0 commentaire
» Un bon odorat pour une bonne croissance