• Aucun résultat trouvé

Module de « Systèmes d’exploitation2 »

N/A
N/A
Protected

Academic year: 2022

Partager "Module de « Systèmes d’exploitation2 »"

Copied!
2
0
0

Texte intégral

(1)

Université de Chlef Février 2011 Département Informatique

Filière : 2ème Année Licence TSW

Examen semestriel

Module de « Systèmes d’exploitation2 » Corrigé

Exercice 1 :

Question 1 : Expliquez le principe de la communication par « mémoire partagée ».

Réponse :

La mémoire partagée permet à deux processus ou plus d'accéder à la même zone mémoire comme s'ils avaient leurs pointeurs dirigés vers le même espace mémoire. Lorsqu'un processus modifie la mémoire, tous les autres processus voient la modification.

Pour utiliser un segment de mémoire partagée, un processus doit allouer le segment. Puis, chaque processus désirant accéder au segment doit l'attacher. Après avoir fini d'utiliser le segment, chaque processus le détache.

À un moment ou à un autre, un processus doit libérer le segment.

(4 points)

Question 2 : Expliquez la différence entre la communication par « mémoire partagée » et la « mémoire mappée ».

Réponse :

La « mémoire mappée » est un mode de communication analogue à la « mémoire partagée » , sauf que la communication se fait par un fichier et non par zone partagée.

(3 points)

Exercice 2 : On reprend le problème du coiffeur endormi vu en TD, mais en supposant que le nombre de places du salon est illimité. . Réécrire la solution de ce problème.

Réponse :

Processus Coiffeur Début

Cycle

Wait(SClient) Signal(SCoiffeur) Couper_cheveux FinCycle

Fin

Processus Client Début

Signal(SClient) Wait(SCoiffeur) Obtenir_coupe Fin

Déclarations :

SClient, SCoiffeur : sémaphores initialisés à 0.

(5 points)

(2)

Exercice 3 : Proposez une solution au problème des lecteurs-rédacteurs en donnant une priorité aux rédacteurs en utilisant les moniteurs de Hoare.

Réponse :

Moniteur = Fichier

Var Ecrire, Lire : Boolean ;

NbLecteur , NbRedacteur : Integer ; CEcrire, Clire : Condition ;

Procedure Entry DebutLire Begin

If Ecrire Or NBRedacteur>0 then CLire.wait;

NbLecteur := NbLecteur +1 ; Lire := True ;

CLire.signal End ;

Procedure Entry FinLire Begin

NBLecteur := NBLecteur – 1 ;

If NBLecteur = 0 then Begin Lire :=False ; CEcrire.Signal End

End

Procedure Entry DebutEcrire Begin

NBRedacteur := NBRedacteur + 1 ; If (Ecrire) or (Lire) Then CEcrire.wait Ecrire := True

End

Procedure Entry FinEcrire Begin

Ecrire :=False

NBRedacteur := NBRedacteur - 1 If NBRedacteur>0 then CEcrire.Signal Else CLire.Signal End

Begin /* Initialisation */

Ecrire :=False ; Lire := False ; NBLecteur := 0 ; NBRedacteur :=0 End.

Processus Lecteur Debut

Fichier.DebutLire Lire

Fichier.FinLire Fin.

Processus Redacteur Debut

Fichier.DebutEcrire Ecrire

Fichier.FinEcrire Fin.

(08 Points) Le corrigé et les résultats seront publiés sur le site : http://www.Loukam.net

Références

Documents relatifs

La réponse à la question suppose a minima une distinction pour l’analyse entre une « mémoire historique » ou usages politiques du passé, une norme

Nous avons également vu que dans le domaine de l’embarqué contraint, le code de l’application cible peut être exécutée directement en place dans la mémoire de stockage,

Solution 3 (mixte): les tableaux de pages sont en mémoire principale, mais les adresses les plus utilisées sont aussi dans des registres de l`UCT...

Lorsque les pages candidates au remplacement sont locales au processus souffrant du défaut de page et que le nombre de cadres alloué est fixe, les expériences montrent que:. Si peu

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Que ce soit la retranscription de conversations lors de rencontres solitaires, la participation à une liturgie orthodoxe ou à une série de conférences sur l'esclavage, le temps

Sans doute parce que la mémoire partagée représente une forme archétypale de commun, et qu’elle peut être comprise comme une condition et une résultante de toute mise

- Le pointeur « ptr » contient l’adresse mémoire d’une zone mémoire capable de contenir une variable de type « int ».. - La définition d’un pointeur n’alloue en