Vous êtes sur la page 1sur 18

1. Qu'est-ce qu'un système d'exploitation?

2. Quelle est la différence entre une thread et un processus?

3. Les interpréteurs de commandes et les compilateurs font‐ils parties du système


d’exploitation ?

4. Qu’est ce qu’un système multiprogrammé ? Un système de traitement par lots ? Un


système en temps partagé ?

5. Pourquoi le partage de données pose des problèmes dans un système


multiprogrammé en temps partagé?

6. Un processus est une entité produite après compilation

7. Un processus est une entité produite après chargement d’un binaire en mémoire
8. Pourquoi l’algorithme d’ordonnancement SJF n’est-il pas réellement
applicable ?

9. Définir la notion de PCB,

10. Citer quatre attributs parmi ceux qui constituent le PCB.

11. Quel est l'effet de la diminution du quantum sur les performances


de l'algorithme RR (tourniquet)?

12. Les algorithmes d’ordonnancement basés sur des priorités peuvent


engendrer la famine (non exécution) des processus à faible priorité.
Comment peut-on éviter ce problème ?

13. Citer trois architectures des systèmes d’exploitation (sans détail).


1. Qu'est-ce qu'un système d'exploitation?
Correction: c'est un programme (ou ensemble de programmes) qui fait l'intermédiaire
entre la partie matériel et les applications.

2. Quelle est la différence entre une thread et un processus?


Correction: un processus peut contenir plusieurs threads qui partagent le même code, le
même tas et le même environnement, mais qui ont des piles séparées.

3. Les interpréteurs de commandes et les compilateurs font‐ils parties du système


d’exploitation ?
Correction: Non
4. Qu’est ce qu’un système multiprogrammé ? Un système de traitement par lots ?
Un système en temps partagé ?
Correction: 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.

5. Pourquoi le partage de données pose des problèmes dans un système


multiprogrammé en temps partagé?
Correction: Un autre processus peut accéder aux données partagées avant qu’un
processus n’est fini de les utiliser (modifier).
6. Un processus est une entité produite après compilation
Correction: Non, car un processus est une image d’un programme en exécution

7. Un processus est une entité produite après chargement d’un binaire en mémoire
Correction: Oui, car une fois terminé le chargement d’un programme en mémoire un
processus est créé
8. Pourquoi l’algorithme d’ordonnancement SJF n’est-il pas réellement applicable ?
Correction: car on ne peut pas prévoir la durée d'exécution d'un processus.

9. Définir la notion de PCB,


Correction: PCB : Process Control Block: structure de données associée à un processus et
contenant toute l'information décrivant le contexte du processus => bloc de contrôle.

10. Citer quatre attributs parmi ceux qui constituent le PCB.


Correction: PID, PPID, Etat, Priorité, Compteur Ordinal, Fichiers ouverts, pointeurs (seg
de code, seg de données, seg de pile..), temps d'exécution...
11. Quel est l'effet de la diminution du quantum sur les performances de l'algorithme
RR (tourniquet)?
Correction: La diminution du quantum entraîne la dégradation des performances de
l'algorithme RR, car le temps de commutation/changement de contexte augmente.

12. Les algorithmes d’ordonnancement basés sur des priorités peuvent engendrer la
famine (non exécution) des processus à faible priorité. Comment peut-on éviter ce
problème ?
Correction: On utilise un autre algorithme: tourniquet ou priorité dynamique.

13. Citer trois architectures des systèmes d’exploitation (sans détail).


Correction: Monolithique, en couches, modulaire, client-serveur, machine virtuelle...
Exercice n°1

Cinq travaux A, B, C, D et E arrivent pratiquement en même temps dans un


centre de calcul.

Leur temps d’exécution respectif est estimé à 10, 6, 2, 4 et 8 secondes.

Tracez le digramme de Gantt et déterminez le temps moyen de rotation pour


chacun des algorithmes d’ordonnancement suivants. Ne tenez pas compte du
temps perdu lors de la commutation des processus.

• Premier arrivé, premier servi FCFS (exécution dans l’ordre 10, 6, 2, 4, 8) ;


• Plus court d’abord SJF ;
• Tourniquet (quantum q = 4 s).
Exercice n°2

On considère trois (3) processus P1, P2, P3 dont les durées d’exécution sont
respectivement 6, 4 et 8 unités de temps.

On fait l’hypothèse suivante : après 1 unité de temps d’exécution, le processus P2 crée un


processus fils (qu’on appellera P4) dont la durée d’exécution est de 3 unités de temps.

Le processus P4 après 2 unités de temps d’exécution crée à son tour un nouveau processus
fils P5, dont la durée d’exécution est de 2 unités de temps.

On admet qu’un processus ayant créé un fils doit se bloquer jusqu’à la terminaison de son
processus fils.

En supposant que tous les processus sont gérés en utilisant l’ordonnancement «Round-
Robin» avec un quantum égal à 2 unités de temps, dessinez le digramme de Gantt .
Exercice 3
Soit 3 processus avec leurs durée estimé et leur date d’arrivée:

1- Tracer le diagramme de Gantt en supposant qu’il y a un seul processeur et une


priorité statique quantum=1 , puis dynamique (priorité diminuée de 1 à chaque cycle).
Si deux processus ont la même priorité, on exécute celui qui a l’indice le plus petit,

2- Calculer le temps de traitement moyen

Vous aimerez peut-être aussi