Expertos

Páginas: 9 (2172 palabras) Publicado: 24 de septiembre de 2014
Programación Concurrente
Curso 02-03

Relación de ejercicios

SEMÁFOROS

SEM.1
Supongamos que queremos controlar el acceso a un parking con el siguiente comportamiento:

cuando un coche llega al parking éste espera espera a que la barrera de acceso al parking se levante. La barrera sólo se levantará cuando el parking no esté lleno, el semáforo que está detrás está verde y la máquina detickets ha expendido un ticket. La barrera baja cuando detecta que el coche ha pasado. La máquina de tickets expende un ticket cuando detecta que se ha pulsado el botón de la máquina. Cuando la barrera está levantada entonces el coche pasa. Después de pasar el coche, la barrera se baja. Pasado un tiempo desde que el coche aparcó, éste sale del parking.

Se pide resolver este problema utilizandosemáforos.

Se consideran 4 procesos: coche, maquinaTickets, barrera y semaforo. Como ejemplo se proporciona el pseudocódigo del proceso coche:

proceso Coche;
(* protocolo de entrada, uso de semáforos *)
(* coche estaciona *)
sleep (1000);
(* el coche sale *)
(* protocolo de salida, uso de semáforos *)
finProcesoCoche

Notas:
No olvidar la inicialización de semáforos.
Elproceso semáforo sólo puede estar rojo o verde. Cada cierto tiempo, por ejemplo 10 segundos, cambia de estado por sí mismo.
Los procesos sólo utilizarán las primitivas de semáforos, la instrucción sleep ( ) y comentarios.
Suponed que están implementados los procedimientos: bajarBarrera, subirBarrera y expenderTicket.
Un coche sólo podrá pulsar el botón de la máquina cuando la barrera estábajada.
Capacidad inicial del parking: 10 coches. Crear 15 procesos de tipo coche.



SEM.2
Suponer que estamos en una discoteca y resulta que está estropeado el servicio de chicas y todos tienen que compartir el de chicos. Se pretende establecer un protocolo de entrada al servicio usando semáforos en el que se cumplan las siguientes restricciones:
chicas sólo puede haber una a la vez en elservicio.
chicos puede haber más de uno, pero con un máximo de cinco.
los chicos tienen preferencia sobre las chicas. Esto quiere decir que si una chica está esperando y llega un chico éste puede pasar. Incluso si no puede entrar en el servicio porque hay ya 5 chicos pasará antes que la chica cuando salga algún chico.

SEM.3
Una tribu de antropófagos comparte una olla en la que caben Mmisioneros. Cuando algún salvaje quiere comer, se sirve directamente de la olla, a no ser que ésta esté vacía. Si la olla está vacía, el salvaje despertará al cocinero y esperará a que éste haya rellenado la olla con otros M misioneros para poder coger el suyo.

proceso Salvaje proceso Cocinero
repetir repetir
servirse_1_misionero; dormir;
comer; rellenar_olla;siempre; siempre;

Se pide implementar tanto el programa principal como ambos procesos en Pascal-FC usando semáforos de tal forma que se respete la sincronización requerida y se tenga en cuenta que:
- la solución no debe producir interbloqueo,
los salvajes podrán comer siempre que haya comida en la olla, solamente se despertará al cocinero cuando la olla esté vacía.

SEM.4
En una fábrica debicicletas hay 2 operarios y 1 montador. El primer operario construye ruedas, el segundo operario construye marcos de bicicleta y el montador se encarga de tomar 2 ruedas y 1 marco y de esta forma montar una bicicleta. La actuación concurrente de estas 3 personas está sujeta a las siguientes restricciones:
1. El montador no podrá coger ningún material, si dicho material no ha sido fabricado deantemano por el operario correspondiente.
2. El operario que fabrica marcos no tiene espacio más que para almacenar 4 de estos objetos; deberá esperar si en cualquier momento ha fabricado 4 marcos, sin que ninguno haya sido tomado por el montador. El número máximo de objetos que puede almacenar el operario que fabrica ruedas es de 10.

Solucionar el problema usando semáforos para sincronizar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • expert
  • Expert
  • Experto
  • Experto
  • Experto
  • Experto En Sonido
  • Experto
  • Experto

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS