OS2 – Fonctionnement des S.E. multi-tâches et multi-utilisateurs

 

Table des matières

Séquence de démarrage

Fonctionnement en mode Multi-tâches

Interruptions matérielles

Multi-tâches préemptif

Multi-tâches coopératif

Partage du temps CPU

Fonctionnement multi-utilisateurs

L'administrateur d'un S.E. multi-utilisateurs

Définition

Rôles de l'administrateur

QUIZZ

 

Séquence de démarrage

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.

Fonctionnement en mode Multi-tâches

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.

Interruptions matérielles

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

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.

Multi-tâches coopératif

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.

Partage du temps CPU en multi-tâches

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 »

Fonctionnement multi-utilisateurs

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 d'un S.E. multi-utilisateurs

Définition

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.

Rôles de l'administrateur

QUIZZ

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. 1. Expliquez la différence entre un S.E. mono-tâche et un S.E. multi-tâches. 

  2. 2. Donnez la définition d'une interruption matérielle et indiquez son effet sur le déroulement d'un processus 

  3. 3. Quelle est la particularité d'un S.E. multi-tâches « préemptif » ? 

  4. 4. Quelle est la particularité d'un S.E. multi-tâches « coopératif » ? 

  5. 5. Quel sous-ensemble logiciel du S.E. est chargé du partage du CPU entre les différents processus à exécuter ? 

  6. 6. Que doit garantir un S.E. « multi-utilisateurs » ? 

  7. 7. Citez au moins deux rôles de l'administrateur d'un S.E.