OS2 – Fonctionnement des S.E. multi-tâches et multi-utilisateurs
![]() |
Le schéma ci-dessus illustre les étapes suivantes :
1 Mise sous tension : exécution du code contenu en mémoire « morte » et vérification sommaire du matériel
2,3,4 Lecture du code du « chargeur primaire » sur le 1er secteur du disque dur (« MBR »), dépôt du code en RAM et exécution.
5,6,7 Lecture du code du « chargeur secondaire » sur le disque dur, dépôt du code en RAM et exécution.
8,9,10 Lecture du code du S.E. choisi par l'utilisateur, dépôt du code en RAM et exécution.
Un S.E. « multi-tâches » est un S.E. capable d’exécuter au moins plusieurs processus simultanément comme l’indique la figure ci-dessous :
Rappel : un processus est un programme en cours d'exécution.
![]() |
Dans certains S.E. un processus peut être constitué d'une ou plusieurs tâches. Chaque tâche étant chargée d’un traitement spécifique à l'intérieur du processus.
![]() |
Un S.E. capable de gérer l'exécution simultanée de plusieurs tâches à l'intérieur d'un processus est dit « multi-threads ».
Un « thread » est donc l’activité autonome d'une tâche à l'intérieur d'un processus.
![]() |
Une « interruption » est un événement généré par un périphérique matériel.
Comme l'indique la figure ci-dessous une interruption déroute l'exécution du programme « normal » vers un morceau de programme interne au noyau appelé « gestionnaire d'interruption ».
![]() |
Une gestion spécifique des interruptions est indispensable pour qu'un S.E. fonctionne en mode multi-tâches « préemptif ».
Un S.E. est « multi-tâches préemptif » s'il peut arrêter à tout moment l'exécution d'un processus pour « allouer » le CPU à un autre processus.
On appelle « ordonnanceur » (« scheduler » en anglais) le sous-ensemble du S.E. qui est chargé du partage du CPU entre les différents processus.
![]() |
➢L'ordonnanceur est « piloté » par les interruptions.
➢Le CPU peut être alloué à un nouveau processus suite à l'apparition d'une interruption. Dans ce cas l'ordonnanceur choisit parmi les processus « prêts » celui qui possède le plus haut niveau de « priorité ».
Un S.E. « multi-tâches coopératif »n'est pas le « maitre » du partage du CPU.
Le partage du CPU entre les différents processus ne dépend que de la libération volontaire du CPU par les processus.
Cette libération est effectuée par l'ordonnanceur lors de l'appel des primitives du S.E.
Dans le tableau qui suit « P » indique « Préemptif » et « C », « Coopératif ».
Méthode | P | C | Remarques |
Libération volontaire du CPU par le Ps suite à l'appel d'une primitive spécialisée du S.E. | X | X |
|
Mise en sommeil forcée du Ps par le S.E. suite à l'appel par le Ps d'une primitive du S.E. L'ordonnanceur peut alors allouer le CPU à un Ps qui attendait certaines ressources qui sont depuis devenues disponibles (cf. ci-dessous) |
| X |
|
Mise en sommeil du Ps par le S.E. suite à un appel par le Ps d'une primitive d'accès à une ressource non disponible | X | X |
|
Mise en sommeil du Ps par le S.E. suite à l'expiration de la tranche de temps d'exécution dont le Ps dispose. | X |
| « Time-sharing » ou « Time-slicing » |
Mise en sommeil d'un Ps en cours d'exécution par le S.E. suite à l'arrivée d'une interruption destinée à un Ps de priorité plus élevée que celle du Ps en cours d'exécution. | X |
| Systèmes « Temps-réel » |
Note : « Ps » pour « processus »
Un S.E. est « multi-utilisateurs » s'il peut assurer la « confidentialité » et la « sécurité » des données et des programmes de chaque utilisateur.
Un S.E. multi-tâches préemptif peut servir plusieurs utilisateurs « simultanément ».
![]() |
L'administrateur (ou superviseur) d'un S.E. multi-utilisateurs est un utilisateur privilégié qui possède « tous les droits » sur le S.E.
![]() |
➢Gestion des utilisateurs (création, suppression, modification)
➢Gestion des ressources système (système de fichiers, ressources partagées, réseau, etc.)
➢Installation et paramétrage des applications
➢Installation et configuration du S.E.
➢Gestion de la sécurité du système.
Une version approchante de ce Quizz est également disponible sur le site « www.evalbox.com ».
Après avoir bien relu votre cours répondez de mémoire aux questions suivantes :
1. Expliquez la différence entre un S.E. mono-tâche et un S.E. multi-tâches.
2. Donnez la définition d'une interruption matérielle et indiquez son effet sur le déroulement d'un processus
3. Quelle est la particularité d'un S.E. multi-tâches « préemptif » ?
4. Quelle est la particularité d'un S.E. multi-tâches « coopératif » ?
5. Quel sous-ensemble logiciel du S.E. est chargé du partage du CPU entre les différents processus à exécuter ?
6. Que doit garantir un S.E. « multi-utilisateurs » ?
7. Citez au moins deux rôles de l'administrateur d'un S.E.