0% ont trouvé ce document utile (0 vote)
525 vues2 pages

TD N°3 Système D'exploitation Sémaphores Et Moniteurs

Le document présente un TD sur les systèmes d'exploitation, axé sur les sémaphores et les moniteurs. Il contient plusieurs exercices pratiques, notamment sur l'exclusion mutuelle, la synchronisation de processus, et des problèmes classiques comme le salon de coiffure et la gestion de la circulation des trains. Les exercices incluent également la modélisation de processus de production en utilisant des sémaphores et des moniteurs.

Transféré par

aymen kossai
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
525 vues2 pages

TD N°3 Système D'exploitation Sémaphores Et Moniteurs

Le document présente un TD sur les systèmes d'exploitation, axé sur les sémaphores et les moniteurs. Il contient plusieurs exercices pratiques, notamment sur l'exclusion mutuelle, la synchronisation de processus, et des problèmes classiques comme le salon de coiffure et la gestion de la circulation des trains. Les exercices incluent également la modélisation de processus de production en utilisant des sémaphores et des moniteurs.

Transféré par

aymen kossai
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Université Alger 1 département d’Informatique Dr A.

Adouane

TD N°3 Système d’exploitation


Sémaphores et Moniteurs

Exercice 1

Rappelez le concept des sémaphores en mettant en évidence le fonctionnement des primitives


P et V.

Montrez comment réaliser l’exclusion mutuelle avec deux tâches en utilisant les sémaphores. Vérifiez
que la solution garantit les propriétés de l’exclusion mutuelle

Exercice 2

Soit l’exécution parallèle des deux processus suivants :


Debut
Parbegin ProcessusA ; ProcessusB ; Parend
Fin

1) Utilisez un sémaphore pour synchroniser les 2 processus.

2) Utilisez deux sémaphores pour synchroniser les 2 processus de telle manière que les tâches
se déroulent toujours dans l'ordre : T1T2T1T2T1T2...

3) Utilisez deux sémaphores pour synchroniser les 2 processus de telle manière que les tâches
se déroulent toujours dans l'ordre : T1T2T2T1T2T2T1T2T2...

Exercice 3

Une illustration classique du problème de la synchronisation est celui du salon de coiffure. Dans le
salon de coiffure, il y a un coiffeur C, un fauteuil F dans lequel se met le client pour être coiffé et N
sièges pour attendre.

• S'il n'a pas de clients, le coiffeur C somnole dans le fauteuil F.

• Quand un client arrive et que le coiffeur C dort, il le réveille, C se lève. Le client s'assied dans F et se
fait coiffer.

• Si un client arrive pendant que le coiffeur travaille :

- si un des N sièges est libre, il s'assied et attend,

- sinon il ressort.

Il s'agit de synchroniser les activités du coiffeur et de ses clients avec des sémaphores

1/2
Université Alger 1 département d’Informatique Dr A.Adouane

Exercice 4

Le but de l’exercice est de concevoir un moniteur qui modélise une sorte de point de synchronisation
généralisé, c’est-à-dire avec la particularité suivante : la condition permettant le franchissement du
point de synchronisation permet non pas à exactement un seul processus de le franchir, mais à un
nombre de processus quelconque.

1) Concevoir un moniteur qui offre deux procédures « attendre_si_necessaire », et


« c_est_bon » et qui fasse l’hypothèse que l’on a seulement 2 processus. Le premier doit s’assurer
que
le point de synchronisation est franchissable avant de poursuivre son exécution ; le second a pour
tâche de rendre possible le franchissement du point de synchronisation par l’autre processus.

2) Généraliser la version du moniteur donnée en 1, afin qu’elle soit utilisable dans le cas où l’on
a plus d’un processus se comportant comme le premier processus de la question. Par contre, on n’a
toujours qu’un seul processus se comportant comme le second processus.

Exercice 5

Deux villes A et B sont reliées par une seule voie de chemin de fer.

Ville A Ville B

Les règles de circulation sont les suivantes :


La voie ne doit jamais être empruntée simultanément par deux trains allant en sens inverse
La voie peut être empruntée par un ou plusieurs trains allant tous dans le même sens
La priorité de parcours est la même pour les deux sens.

On considère deux classes de processus : les trains allant de A vers B : « T-AB » et les trains allant de
B vers A : « TBA».

1) En utilisant les sémaphores, écrire les codes des quatre procédures entree_A(), entree_B(),
sortie_A() et sortie_B() de façon à ce que les processus respectent les règles de circulation sur la voie.
Précisez clairement vos déclarations et initialisations.

Exercice 6 :

On considère quatre travailleurs T1, T2, T3 et T4 dans une unité de production de lunettes de soleil.
Le travailleur T1 produit les verres qu'il dépose par pair dans un casier qui a N1 cases. T2 fabrique les
bras du cadre des lunettes et les dépose par pair dans un autre casier avec N2 cases. T3 fabrique le
cadre des lunettes et les dépose dans un troisième casier avec N3 cases. Enfin T4 prend deux verres
+ 2 bras + un cadre et les assemble.
1) Ecrire à l’aide des sémaphores les algorithmes des quatre travailleurs de façon à garantir le
non-interblocage ( il est nécessaire de gérer les indices des cases).
2) Refaire les algorithmes avec les moniteurs
2/2

Vous aimerez peut-être aussi