Sistemes Operatius

Anuncio
Sistemes Operatius - Seminari 3
1. Explica el funcionamiento de las opraciones wait(s) y signal(s) de un semáforo.
2. Usando semáforos, da una solución al problema de la sección crítica para tres
procesos.
3. Demuestra (con un trace de ejecución) que si las operaciones wait() y signal() no
se ejecutan atómicamente, entonces se puede violar el principio de exclusión
mutua en el problema de la sección critica.
5. Asume dos semáforos S and Q inicializados a 1. Puede el siguiente programa
concurrente con 2 procesos entrar en deadlock?
P0
wait(S);
wait(Q);
..
signal(S);
signal(Q);
P1
wait(Q);
wait(S);
..
signal(Q);
signal(S);
6. Propón una solución al problema del productor-consumidor (bounded buffer
problem) usando semáforos y explica tu solución.
7. Usando semáforos propón una solución al problema de los filosofos comensales
que esté libre de deadlock.
9. Propón una solución al problema del productor-consumidor (bounded buffer
problem) usando monitores y explica tu solución.
10. Contrasta las operaciones wait y signal de los semáforos y de los monitores.
11. Propón una implementación de semáforos usando monitores.
12. ¿Cual es la relacion entre el modelo de programación concurrente de Java y los
monitores? Es decir, ¿como programas un monitor en Java y que operaciones en
Java corresponden a las operaciones de los monitores?
Descargar