You are on page 1of 2

Programacin Concurrente y Tiempo Real - Curso 2016/2017 Cuestiones y Problemas

PROGRAMACIN CONCURRENTE Y TIEMPO REAL


Cuestiones y Problemas
Curso 2016/2017
D. Vallejo / C. Villarrubia / M.A. Redondo / F.J. Villanueva / J. Ruiz
Escuela Superior de Informtica
Universidad de Castilla-La Mancha

TEMA 3
PASO DE MENSAJES

3.1. Por qu los sistemas de paso de mensajes son ms adecuados para los sistemas
distribuidos que los sistemas basados en el uso de memoria compartida?

3.2. Discuta las primitivas bsicas de sincronizacin en un sistema de paso de


mensajes.

3.3. Cmo se puede llevar a cabo la sincronizacin utilizando sistemas de paso de


mensajes?

3.4. Discuta las distintos tipos de direccionamiento en sistemas de paso de mensajes.

3.5. A qu se refiere el concepto disciplina de cola en el mbito de un sistema de


paso de mensajes? Discuta las principales disciplinas y las ventajas y desventajas
de cada una de ellas.

3.6. Por qu no es posible utilizar las primitivas select o poll con un descriptor de
cola en POSIX?

3.7.Enumere las principales primitivas POSIX para el manejo de colas de mensajes.

3.8. Discuta el concepto de problema del bloqueo en el mbito de los sistemas de


paso de mensajes y las distintas alternativas que conozca.

3.9.En qu consiste el esquema beeper estudiado en clase? Para qu sirve?

3.10. Ventajas y desventajas de la recuperacin selectiva frente a la recuperacin no


selectiva.

3.11. Una variacin al problema de los filsofos comensales. Sobre la definicin del
problema se introduce la variacin de que hay solamente cuatro palillos
depositados en una bandeja. Los filsofos pueden tomar dos cualesquiera de los
palillos antes de comer, si en la bandeja no quedan palillos debern esperar.
Ofrezca una solucin empleando colas de mensajes que asegure la mxima
concurrencia (es decir, cuando un filsofo este comiendo no deber bloquear a los
otros si todava quedan palillos), y no produzca situaciones de inanicin.

3.12. Resuelva el problema de la barbera con los siguientes supuestos: La barbera


procesar 100 clientes al da, pero la mxima capacidad de la barbera ser de 20
clientes. Una vez dentro los clientes esperan de pie a que se les sirva, pero 4
pueden sentarse en un sof. Hay tres barberos, con tres sillas de barbero, que

- Pgina 1 -
Programacin Concurrente y Tiempo Real - Curso 2016/2017 Cuestiones y Problemas

cortan el pelo a los clientes. Cuando terminan, cada barbero puede aceptar el pago
del cliente, pero solo hay una caja registradora, por lo que los pagos solo pueden
aceptarse uno a uno. Los barberos reparten su tiempo entre cortar el pelo y aceptar
los pagos. La aplicacin debe codificarse utilizando colas de mensajes.

3.13. El problema de los fumadores de cigarrillos. Considere un sistema con tres


procesos fumadores y un proceso agente. Cada fumador est continuamente liando
y fumando cigarrillos. Sin embargo, para liar un cigarrillo, el fumador necesita
tres ingredientes: tabaco, papel y fsforos. Uno de los procesos fumadores tiene
papel, el otro tiene el tabaco, y el tercero fsforos. El agente tiene cantidad infinita
de los tres materiales. El agente coloca dos de los ingredientes sobre la mesa. El
fumador que tiene el ingrediente restante la un cigarrillo y se lo fuma avisando al
agente cuando termina. Entonces, el agente coloca dos de los tres ingredientes y se
repite el ciclo. Disee e implemente una aplicacin simulando este sistema
utilizando paso de mensajes.

3.14. Un restaurante de comida rpida tiene cuatro tipos de empleados: (1) los
receptores de pedidos, que reciben los pedidos de los clientes; (2) los cocineros,
que preparan la comida; (3) los empaquetadores, que la meten en bolsas; y (4) los
cajeros, que cobran el importe y dan las bolsas de comida a los clientes. Se puede
considerar a cada empleado como un proceso secuencial que se comunica con los
dems. Disee e implemente una aplicacin simulando este sistema utilizando
paso de mensajes.

- Pgina 2 -