Vous êtes sur la page 1sur 2

Test

Question de cours
1. Pourquoi le partage de données pose des problèmes dans un système multiprogrammé en
temps partagé ?
2. Le système Unix permet-il de contrôler les accès aux données partagées ?
3. Qu’est-ce qu’une section critique ?
4. Expliquez la raison pour laquelle il est nécessaire de synchroniser les processus. Est-ce
que tous les types de SE utilisent la synchronisation de processus ?
5. Identifiez et expliquez un problème typique qui nécessiterait la synchronisation de
processus.
6. Identifiez le point (i.e. les énoncés) d’un processus qui représente sa section critique.
7. Identifiez le problème principal qui peut survenir lorsque l’accès à la section critique d’un
processus est contrôlé par une variable booléenne de type verrou. Donnez une solution à
ce problème.
8. Quel est le problème principal que résout un sémaphore en ce qui concerne l’accès à une
section critique ?
9. Quand doit-on utiliser des sémaphores binaire et général ? Peut-on utiliser ces deux types
de sémaphores dans un même processus et pour un même problème de synchronisation ?
Expliquez.
10. Pourquoi un tube Unix utilise généralement deux canaux de communication entre deux
processus, soit un canal d’entrée et un canal de sortie ? Existe-il des alternatives à ce
mode de communication utilisant les tubes Unix ?

Exercice :
Considérez un système multicouche composé de trois couches P0, P1 et P2. Les couches sont
des processus concurrents qui communiquent au moyen de deux tampons T0 et T1 de même
taille N :
- P0 et P1 partagent le tampon T0 et
- P1 et P2 partagent le tampon T1.
Chaque couche se charge d’un traitement particulier :
- Le processus P0 se charge de lire du clavier des messages qu’il traite avant de les déposer
dans le tampon T0. Le traitement d’un message par la couche P1 consiste à l’encrypter. Il est
réalisé par la fonction Encrypter suivante :
Message Encrypter (Message);
La fonction Message Lire (); permet de lire un message du clavier.
- Le processus P1 se charge de transférer directement les messages du tampon T0 vers le
tampon T1.
- Le processus P2 récupère les messages du tampon T1 pour les envoyer à un destinataire.
L’envoi d’un message est réalisé par la fonction Envoyer :
Envoyer (Message );

a) Expliquez comment les processus peuvent utiliser les sémaphores pour contrôler les accès
aux tampons partagés (exclusion mutuelle, pas d’inter-blocage).
b) Donnez les pseudocodes des trois processus.

Vous aimerez peut-être aussi