Vous êtes sur la page 1sur 5

CYCLE INGENIEUR EN INFORMATIQUE – 1ère ANNÉE -

EXAMEN ÉCRIT – SESSION PRINCIPALE (GR. INGTA-1F)

Module Systèmes d’Exploitation Date 05/11/2022


Enseignant M. Mohamed Chiheb BEN CHAÂBANE Durée 02 heures
Documents Non Autorisés (Calculatrice autorisée) Nbre Pages 05 pages

Partie A : QUIZ (06 pts)

NB : Une question peut avoir une ou plusieurs réponses exactes


1. Un système d’exploitation est :
a. Une entité matérielle qui gère les logiciels installés
b. Une entité logicielle qui gère les applications et le matériel
c. Une entité logicielle/matérielle qui gère tout genre de software
d. Une entité logicielle qui gère seulement les logiciels installés

2. Le bloc de contrôle de processus (BCP) :


a. est une structure de données gérée par le noyau de l’OS
b. contient toutes les données appropriées au processus
c. contient toutes les données appropriées au processeur
d. contient toutes les données appropriées au microprocesseur

3. Le compteur ordinal :
a. est un registre qui contient l'adresse mémoire de l'instruction prochainement exécutée
b. est un registre qui contient l'adresse mémoire de l'instruction déjà exécutée
c. fait partie de la mémoire virtuelle
d. fait partie de la mémoire vive

4. Une interruption est :


a. est un signal émis par un thread
b. un changement du contexte d’un processus provoqué par un signal
c. est un signal émis par un processus parent
d. fait partie de la mémoire vive

5. Une ressource est :


a. toute entité matérielle nécessaire pour le travail d’un processus
b. toute entité logicielle nécessaire pour le travail d’un processus
c. toute entité logicielle/matérielle nécessaire pour le travail d’un processus
6. Le cycle de vie d’un processus :
a. comprend tous les états d’un processus depuis sa création jusqu’à la destruction
b. comprend les états suivants : Création, Prêt, Élu, Bloqué, Zombie, Destruction
c. est un signal émis par un processus parent
d. fait partie de la mémoire vive

7. Un processeur 64 bits :
a. est un processeur dont la largeur de ses registres est 64 bits
b. est un processeur dont la largeur de ses mémoires internes est 64 bits
c. est un processeur dont la largeur de ses entrées/sorties est 64 bits

8. Un processeur x86-64 :
a. est un processeur dont la largeur de tous ses registres est 64 bits
b. est un processeur dont la largeur de tous ses registres est x86
c. contient des registres de largeur 64 bits et des registres de largeur 32 bits
d. contient des registres de largeur 64 bits et des registres de largeur 8 bits

9. Une mémoire cache :


a. stocke temporairement des données utilisées régulièrement par le processeur
b. stocke indéfiniment des données utilisées régulièrement par le processeur
c. stocke indéfiniment des données utilisées rarement par le processeur

10. Quelle est la mémoire la plus rapide en temps d’accès ?


a. La mémoire cache
b. La mémoire vive
c. La mémoire morte (ROM)
d. La mémoire virtuelle

11. Quelle est le niveau le plus rapide en temps d’accès au niveau de la mémoire cache ?
a. Niveau L1
b. Niveau L2
c. Niveau L3
d. Niveau L4

12. L’état zombie d’un processus :


a. désigne un état où un processus ne peut plus évoluer avec des ressources libérées
b. désigne un état où un processus ne peut plus évoluer avec des ressources non libérées
c. désigne un état où un processus peut évoluer avec des ressources libérées
d. désigne un état où un processus peut évoluer lentement avec des ressources libérées
Partie B : EXERCICES (14 pts)
Exercice 1 : (Gestion d’Ordonnancement des Processus) (08 pts)
Soit un Système monoprocesseur qui ordonnance l’exécution des processus suivants :

Temps Temps
Processus
d'Arrivée CPU
A 0 2
B 2 5
C 4 4
D 6 6
E 8 2

a. Supposons qu’on travaille en mode monoprocesseur, donnez les diagrammes de Gantt des
algorithmes suivants : FIFO, SJF, SRTF et le Tourniquet (Quantum = 2ms) montrant
l’allocation de ces processus et l’évolution de leurs états. (Tracer un diagramme pour
chaque algorithme)
(NB : Veuillez utiliser 2 stylos de couleurs différentes afin de distinguer les états des
processus).
b. Calculer le temps moyen d’attente et le temps moyen de séjour pour chaque algorithme.

Exercice 2 : (Gestion des Sémaphores : Le Dîner des Philosophes) (06 pts)


Considérons cinq philosophes, installés autour d'une table circulaire, et qui passent leur temps à penser
et à manger. (Voir figure1)

Figure 1 - Illustration du problème des philosophes


La table est mise avec cinq fourchettes qui sont disposés entre chacun des philosophes.
De temps en temps, un philosophe a faim et essaye de prendre les fourchettes qui sont
immédiatement à côté de lui (ceux qui sont entre lui et son voisin de gauche et de droite). Un
philosophe a besoin de deux fourchettes pour manger, et ne peut évidemment pas prendre un couvert
qui est dans la main d'un voisin.
Quand un philosophe affamé a ses deux fourchettes dans les mains en même temps, il mange sans les
libérer. Dans le cas contraire, il doit attendre que ceux-ci deviennent libres (voir figure2).

Figure 2 - Changements d'état des philosophes

Enfin, quand il finit de manger, il repose ses deux fourchettes et commence à penser à nouveau.
Précisons que les philosophes mangent et pensent durant des temps aléatoires différents, leur
changements d'état, se produisent donc de manière totalement asynchrone.
Le problème même du dîner des philosophes consiste donc à réguler les changements d'état de ces
derniers suivant la disponibilité des fourchettes, qui dépend bien entendu de l'état des voisins du
philosophe concerné.

Question 1 : Soit l’algorithme ci-dessous, d’après-vous quelles sont problèmes rencontrées suite à son
implémentation.

Void philosophe()
{
While(1)
{
Sleep();
Prendre_fourchette_droite();
Prendre_fourchette_gauche();
Manger();
Deposer_fourchette_droite();
Deposer_fourchette_gauche();
}
}
Question 2 : Soient les 2 procédures suivantes, veuillez les compléter par des variables sémaphores
correspondantes afin de garantir l’exclusion mutuelles et éviter l’interblocage des processus.

Philosophe désirant manger

Début

………….

Si les deux voisins immédiats ne mangent pas Alors

Etat = …………

Sinon

Etat = veut_manger()

attente

Fin Si

…………

…………

Fin

Philosophe arrêtant de manger, passage à l'état "pense" :

Début

…………

Etat = …………

…………

pense

Fin

/. Bon travail ./

Vous aimerez peut-être aussi