Vous êtes sur la page 1sur 6

FICHE DE TRAVAUX DIRIGES DE REVISION 1

GENERALITES ET GESTION DES PROCESSUS(RAPPELS)


Questions de cours
1. Qu'est-ce qu'un système d'exploitation ?
2. Donner le rôle d'un système d'exploitation
3. Faites un bref historique des systèmes d'exploitation en fonction des générations
4. Expliquer :
➢ Système multitâche ;
➢ Système multi-utilisateurs ;
➢ Système multiprocesseurs ;
➢ Système distribué ;
➢ Système temps réel ;
➢ Systèmes parallèles.
Exercice 1
Faire une description détaillée des différents types d'architecture des systèmes d'exploitation
Exercice 2
A l'aide d’un schéma bien détaillé décrire les différents états d'un processus.
Exercice 3
1. Expliquez la différence entre les systèmes multitâches non-préemptifs et préemptifs.
2. Indiquez quels sont les avantages des seconds par rapport aux premiers.
Exercice 4
Pour chacune des transitions suivantes entre les états des processus, indiquer si la transition
est possible. Si c’est le cas, donner un exemple d’évènement qui pourrait en être à l’origine.
a. En exécution - prêt
b. En exécution - bloqué
c. Bloqué - en exécution
d. En exécution - terminé
e. Prêt – bloqué
Exercice 5
1- Etablir les correspondances entre les termes :
(1) Multiprogrammation
(2) Système d'exploitation
(3) Machine virtuelle
(4) Temps partagé
(5) BIOS
(6) Système réparti et les définitions :
A- gère les composants de l'ordinateur
B- permet d'augmenter le rendement du processeur
C- teste les composants de l'ordinateur
D- le processeur est équitablement partagé entre les utilisateurs
E- permet de partager des ressources sur un réseau
F- permet de masquer la complexité du matériel
Exercice 6
Quel est l’intérêt d’un des interruptions dans un système d’exploitation ? Pouvez-vous
donner un exemple d’interruption logicielle ?
Exercice 7
Dans le cas de l'allocation d’une unité centrale selon une stratégie avec recyclage du
type tourniquet (Round Robin), quels sont les effets des choix suivants lorsque le quantum q
attribué est :
1. q = ∞
2. q= ε
3. q= s
5- q=t
6- s < q < t
7- q>t
On suppose que s est le temps de changement de contexte et que t est le temps moyen
d'utilisation du processeur (t >> s et ε << s).
Exercice 8
Supposons un système d’exploitation monoprocesseur, un temps de commutation nul
et une liste de processus à l’état prêt décrite par le tableau suivant :

Date d’arrivée Durée d’exécution


Processus
(a) (e)
A 0 3
B 1 5
C 3 2
D 9 5
E 12 5

En supposant que l’ordonnancement des processus se fait selon la stratégie tourniquet (Round
Robin), calculer pour chaque processus selon la valeur du quantum Q
- la date de début de l’exécution : d
- la date d’achèvement de l’exécution : f
- le temps de réponse T= f -a
- le temps d’inactivité M= T-e
- le ratio de pénalité P= T/a
- le ratio de réponse R= 1/P
On prendra pour Q les valeurs 1 puis 4.
Exercice 9
On suppose, qu’à la date t=0, le CPU est libre et que la liste des processus à l’état prêt
sont ceux listés dans le tableau suivant.

Processus Date arrivée Temps de traitement

A 0 3

B 1 6

C 4 4

D 6 2

On s’intéresse à l’ordonnancement de ces processus lorsque l’algorithme mis en œuvre est


FCFS, SJF, SRTF, RR (q=2). En prenant en considération que le temps nécessaire pour la
commutation est nul, calculer pour chacun de ces algorithmes :
1. le temps moyen de rotation
2. le temps d’attente de chaque processus
3. le débit

GESTION DE LA MEMOIRE PROCESSUS

Exercice 1

Considérons un système de gestion de mémoire à partitions variables avec la liste


des trous suivante (ordonnée par adresses croissantes) : 10K, 4K, 20K, 18K, 7K, 9K, 12K et
15K. Supposons les demandes successives d'espace mémoire : A= 12K, B= 10K et C= 9K.

Indiquer pour les stratégies First Fit, Next Fit, Best Fit et Worst Fit l'état de cette liste après
l'allocation des espaces pour les demandes de A, B et C.

Exercice 2
Ecrire un programme qui évalue en parallèle les sous-expressions arithmétiques
contenues dans l’affectation suivante :

X:= 3.14 * ( (a+b)/(c-d)) + e*f ) - (d-c)*(a+b) On pourra utiliser un nombre quelconque de


variables intermédiaire.

Exercice 3

1- Qu’est-ce qu’un sémaphore et pour quelles raisons ses primitives sont-elles considérées
être des opérations atomiques (indivisibles) ?

2- Quelles différences existe-t-il entre un sémaphore binaire, un sémaphore à compteur et un


sémaphore privé ?

Exercice 4

Le problème à traiter concerne la mise au point d’un rendez-vous de travail entre N


personnes. Chaque personne doit se rendre au lieu du rendez-vous et attendre le début de
travaux qui ne peut commencer que lorsque tout le monde est présent. Le dernier arrivé donc
débloquera la situation et les travaux de l’assemblée peuvent démarrer.

Résoudre ce problème en utilisant des sémaphores et considérant que les personnes sont des
processus citoyens.

Exercice 5

1. Quel est le principal problème de la fragmentation ?


2. Que risque-t-il de se passer pour la mémoire libre, vis-à-vis de la fragmentation quand
on alloue (par malloc()) et libère (par free()) des blocs de mémoire ? Quel problème
cela pose-t-il ?
3. Existe-t-il un problème de fragmentation avec les partitions de tailles fixes ?
4. Peut-on autoriser une zone de données à être séparée en mémoire ? Quel effet cela a-
t-il sur l’efficacité du système ?

Exercice 6

Soit la suite d’accès aux pages suivante : {0, 1, 2, 3, 1, 2, 3, 4, 2, 3, 4, 5, 1, 0, 2, 3, 2,


3} et une mémoire tampon de 3 pages. Faites l’analyse des fautes de pages pour les
algorithmes PAPS et LRU. Quel est celui qui semble préférable ? Si le tampon est porté à 4
pages, la conclusion change-t-elle ?
Exercice 7

Soit la suite d’accès aux pages suivantes :{0, 1, 2, 3, 0, 1, 2, 3, …} et une mémoire


tampon de 3 pages. Faites l’analyse de fautes de pages pour l’algorithme LRU. Proposez une
méthodologie d’échange qui soit optimale pour ce cas précis. En moyenne, pour une longue
séquence de ce genre, quel est le nombre de faute moyen pour une longue séquence de ce
genre, quel est le nombre de faute de pages de LRU par rapport à la solution optimale ?

Exercice 8

Réécrire l’algorithme du producteur et du consommateur avec les primitives SLEEP()


et WAKEUP(), dans le cas où il n’y a qu’un seul producteur et qu’un seul consommateur.
Expliquez pourquoi la généralisation à plusieurs producteurs et consommateurs est complexe.

Exercice 9

N>3 philosophes passent leur vie à manger des spaghettis et à penser. Ils s’installent
pour manger autour d’une table circulaire placée dans une salle à manger. La table est entourée
de N chaises. A chaque philosophe est attribuée une chaise. N fourchettes sont posées sur la
table de sorte qu’il y ait une fourchette entre deux chaises. Ainsi il y a une fourchette à gauche
et une à droite de chaque philosophe.

Afin de manger un philosophe doit entrer dans la salle et s’asseoir à la place qui lui est
attribuée. Un philosophe a besoin de deux fourchettes pour manger. S’il ne peut obtenir les
deux fourchettes immédiatement, il doit attendre pour les obtenir afin de pouvoir manger. Au
bout d’un temps fini, le philosophe termine de manger, Il quitte alors la table et repart
ensuite dans ses pensées.

Remarques :

- Le plat de spaghetti est une ressource supposée être infinie que les processus philosophes
peuvent toujours demander.

- Si vous préférez deux baguettes chinoises par philosophe pour manger du riz, ç’est aussi
bien : ça sera toujours le problème des philosophes (!)
Exercice 10

L'échoppe d'un barbier possède deux pièces :

• Dans l’une travaille le barbier. Il y a dans cette pièce un fauteuil sur lequel il se
repose si jamais il n’a pas de clients. Le premier client qui arrive réveille le coiffeur.
• L’autre est la salle d'attente avec N chaises pour les clients qui veulent se couper la
barbe et/ou se couper les cheveux. En entrant dans cette salle, un client doit s’asseoir
sur une chaise (s’il y a en une de libre) en attendant son tour de rôle afin que le barbier
puisse s’occuper de lui. Si toutes les chaises sont occupées le client n’a pas à attendre
: il repart d’où il est venu.

Le problème consiste à programmer les processus barbier et clients de sorte à faire


respecter les contraintes imposées et notamment pour les différents clients qui essayent
d’accéder aussi bien à la salle de travail qu’à la salle d’attente.

Vous aimerez peut-être aussi