Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Systèmes d’Exploitation 1
Série TD N°1
Ordonnancement des processus (1)
Questions de cours :
1) Quel est le rôle d’un système d’exploitation ? Les interpréteurs de commandes et les compilateurs
font‐ils parties du système d’exploitation ?
Il gère et contrôle le matériel et offre aux utilisateurs une machine virtuelle plus simple d’emploi que
la machine réelle (appels systèmes). Non, les interpréteurs et les compilateurs ne font pas partie du
système d’exploitation.
2) Qu’est ce qu’un système multiprogrammé ? Un système de traitement par lots ? Un système en
temps partagé ?
Un système multiprogrammé gère le partage des ressources (mémoire, processeur, périphériques…)
de l’ordinateur entre plusieurs programmes chargés en mémoire. Dans un système de traitement par
lots, les processus sont exécutés l’un à la suite de l’autre selon l’ordre d’arrivée. Dans un système en
temps partagé, le processeur est alloué à chaque processus pendant au plus un quantum de temps.
Au bout de ce quantum, le processeur est alloué à un autre processus.
3) Quel est le rôle d’un ordonnanceur ?
L’ordonnanceur gère l’allocation du processeur aux différents processus. L’ordonnanceur d’UNIX est
un ordonnanceur à deux niveaux, à priorité qui ordonnance les processus de même priorité selon
l’algorithme du tourniquet.
4) Dans le système UNIX, les véritables appels système sont effectués à partir
‐ d’un programme utilisateur
‐ d’une commande shell
‐ d’une procédure de la bibliothèque standard
Sont‐ils exécutés en mode superviseur ou en mode utilisateur ?
A partir de la bibliothèque standard des appels système (instruction TRAP). Ils sont exécutés en mode
superviseur (Leurs codes constituent le système d’exploitation).
5) Pourquoi le partage de données pose des problèmes dans un système multiprogrammé en temps
partagé ? Le système UNIX permet‐il de contrôler les accès aux données partagées ? Qu’est‐ce
qu’une section critique ?
Un autre processus peut accéder aux données partagées avant qu’un processus n’est fini de les
utiliser (modifier). Oui, par exemple les sémaphores. Une suite d’instructions qui accèdent à des
objets partagés avec d’autres processus.
Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Exercice :
On considère 4 programmes P1, P2, P3 et P4 dont le comportement est définit comme suit :
Les 4 programmes sont lancés en même temps dans un système de multiprogrammation.
On considère que l’ordonnancement sur le processeur se fait selon une stratégie FCFS.
1. Remplir le diagramme d’exécution de ces 4 programmes selon le modèle ci-joint
(Pour vous aider on a coché les 4 premières cases du programme P1).
2. Calculer les temps suivants :
• Temps d’exécution de chaque programme
• Temps moyen d’exécution
• Temps d’attente pour chaque programme
• Temps moyen d’attente
Notations :
• Actif : utilise le processeur.
• Prêt : attente du processeur.
• E/S : phase d’entrée/sortie.
• Attente : attente d’un événement autre que la libération du processeur.
Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2
Note : Chaque case de ces diagrammes correspond à 10 ms
Temps d’exécution :
P1 : 90 ms
P2 : 120 ms
P3 : 50 ms
P4 : 80 ms
Temps moyen d’exec : (90 + 120 + 50 + 80 ) / 4 = 85 ms
Temps d’attente
P1 : 330 – 90 = 240
P2 : 340 – 120 = 220
P3 : 310 – 50 = 260
P4 : 190 – 80 = 110
Temps moyen d’attente : ( 240 + 220 + 260 + 110 ) / 4 = 207.5 ms
Page 3