ECOLE MILITAIRE POLYTECHNIQUE
DEPARTEMENT INFORMATIQUE MATHEMATIQUES
Nature de l’examen : Partiel 1 Classe/Filière :INFORMATIQUE
Module : Systèmes d'Exploitation Responsable : …………..
Durée : 1h30 minutes. Date : 28/03/13
Documents : Non autorisés Année : 2012/2013
Questions (5 pts) (la réponse est dans le cours)
1- Citer la principale différence entre un système mono-programmé, multi-programmé et temps
partagé. (1 pt)
2- Quelle différence existe-t-il entre le mode utilisateur et le mode noyau d’un système d'exploitation ?
(1 pt)
3- Qu'est-ce qu'un thread ? Quelle est la principale différence avec un processus ? (1 pt)
4- Quelle différence poste-il le fait que le système soit préemptif ou non pour une politique
d'ordonnancement « le plus court d'abord ». (1 pt)
5- Quelle problème pose l'ordonnancement « la plus haute priorité d'abord » et comment le résoudre ?
(1 pt)
Exercice 1 (2 pts)
Combien de processus seront créés par ce programme?
int main() {
int cnt = 0;
int p = 1;
while (p > 0) {
cnt++;
p = fork();
}
if (p < 0) {
printf("failed after %d fork\n", cnt);
}
execlp("sleep", "sleep", "1", (char *) NULL);
return 0;
}
Réponse : il sera créé autant de processus que d'espace disponible dans la table de processus. Une
fois cette table saturée, le fork retourne -1.
Exercice 2 : Premier systèmes informatiques (5pts)
Un lot est composé de 50 travaux, que pour simplifier, on suppose tous constitués de 3 phases :
- lecture des cartes (20 secondes)
- calcul (15 secondes)
- impression des résultats (5 secondes).
Le temps mis pour passer d'un travail à un autre est négligeable.
Dessiner le diagramme de Guntt pour les 5 premiers travaux, puis calculer le temps de traitement total du
lot et le taux d'utilisation de l'unité centrale pour le calcul dans les deux cas suivants :
1°) L'unité centrale gère les périphériques d'entrée-sortie. (2.5 pts)
Réponse :
Durée du traitement = 20+15+5=40s. R=15/40=0,375
2°) Les périphériques sont autonomes et disposent d'un accès direct à la mémoire. (2.5 pts)
Réponse :
Durée du traitement = 20s (le temps le plus long puisque temps transfert en mémoire =0),
r=15/20=0,75
Exercice 3 : Ordonnancement (8 pts)
On considère 4 processus, A, B, C, D. On suppose que l’exécution des processus nécessite :
• Pour A : 7 unités de temps CPU, 3 unités de temps d'E/S et 5 unités de temps CPU.
• Pour B : 6 unités de temps CPU, 4 unités de temps d’E/S, 4 unités de temps CPU.
• Pour C : 5 unités de temps CPU.
• Pour D : 1 unité de temps CPU, 4 unités de temps d’E/S et 2 unités de temps CPU.
On suppose que
• A se présente en premier, à l’instant 0,
• B se présente à l’instant 1,
• C se présente à l’instant 9,
• D se présente à l’instant 12.
Pour chacun des cas ci-dessous, montrez comment les 4 processus vont utiliser le processeur (il est
préférable d'utiliser un diagramme de Guntt), puis calculer le temps de terminaison.
1) Chaque processus a son propre périphérique d’E/S et l’ordonnanceur fonctionne selon Premier
Arrivée Premier Servi (sans préemption). (2.5 pts)
2) Chaque processus a son propre périphérique d’E/S et l’ordonnanceur utilise l'algorithme du
tourniquet, avec un quantum de 5. Le temps de commutation est égal à 0. Donnez, dans ce cas, les
temps de séjour des processus A, B, C et D. (2.5 pts)
3) Les trois processus utilisent le même périphérique d'E/S dont la file d'attente est gérée premier
arrivée premier servi. L’ordonnanceur du processeur utilise l'algorithme du tourniquet, avec un
quantum de 5. (3 pts)
NB.
– Le temps de commutation est supposé égal à 0.
– Les E/S sont gérées par les interruption (E/S autonome)
Réponse :
A:7+3+5
B:6+4+4
C:5
D : 1 + 4 +2
1)CPU :
(A,7) (B,6) (C,5) (A,5) (D,1) (B,4) (D,2)
0 7 13 18 23 24 28 30
pour A : 24
pour B : 27
pour C : 8
pour D : 18
2) CPU :
(A,5) (B,5) (A,2) (C,5) (B,1) (D,1) (A,5) (B,4) (D,2)
0 5 10 12 17 18 19 24 28 30
pour A : 24
pour B : 27
pour C : 8
pour D : 18 B= 5, C=5, A=5
3) B= 1, D=1
B C A D B D
(A,1) (A,6) (B,2) (B,1) (B,2) (B,1) (D,1) (C,3) (C,2) (B,2) (B,2) (D,2) (A,5)
0 1 7 9 10 12
On cas d'égalité dans les temps restants, celui qui détient la CPU reste en exécution sinon on
applique le FIFO.
pour A : 24
pour B : 27
pour C : 8
pour D : 18