Examsys2 lmd epreuve 2012 2013corrige 2 1
Université de Chlef Département Informatique Filière ème Année Licence TSW Examen semestriel Module de Systèmes d ? exploitation ? Février Corrigé Exercice points On considère le problème de synchronisation Producteur Consommateur avec bu ?er limité mais le nombre de producteurs est égal à alors qu'il n'ya qu'un seul consommateur Proposez une solution à ce problème en utilisant les sémaphores Soignez vos déclarations et votre code On utilise pour ce problème sémaphores Réponse Déclaration des variables utilisées ? Empty sémaphore init à N représentant le nombre de case vides du bu ?er ? Full sémaphore init à représentant le nombre de cases pleines du bu ?er ? MutexProd sémaphore d ? exclusion mutuelle init pour protéger la variable In partagée par les producteurs ? In entier init représentant l'indice de l'élément pouvant recevoir un élément déposé par un producteur ? Out entier init représentant l'indice de l'élément prêt à être prélevé par un consommateur Processus Producteur i Début Cycle Produire un message dans ZoneP Wait Empty Wait MutexProd Bu ?er In ZoneP In In mod N Signal MutexProd Signal Full Fin Cycle Fin Processus Consommateur Début Cycle Wait Full ZoneC Bu ?er Out Out Out mod N Signal Empty Consommer le message de ZoneC Fin Cycle Fin Page CExercice points Quelles sont les critiques qu'on peut faire aux solutions logicielles et aux solutions matérielles du problème de l'exclusion mutuelle Réponse Critique des solutions logicielles L'attente active des cycles processeurs sont consommés inutilement pendant l'attente points Critique des solutions matérielles Les instructions matérielles sont spéci ?ques au matériel et ne peuvent pas être généralisées points Exercice points Décrivez en quelques lignes comment peut-on réaliser les sémaphores en langage Java Donnez le code en Java Réponse Les sémaphores n'existent pas en Java il faut les déclarer à travers une classe La classe contient l'attribut value et les méthodes wait et signal Wait et signal sont à utilisée avec l'option synchronized qui garantit l'accès en exclusion mutuelle à chaque méthode points La classe Semaphore public class Semaphore private int value public Semaphore int n value n public synchronized void wait while value try wait catch InterruptedException e value-- public synchronized void signal value notifyAll points Page C
Documents similaires
-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Mai 25, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 24.7kB