Está en la página 1de 2

PROGRAMACIN CONCURRENTE

EJERCICIOS DE SEMFOROS Ejercicio N1 Suponga que hay un bao en su departamento. Puede ser usado por hombres y mujeres pero no al mismo tiempo. (a) Derive una solucin a este problema, permitiendo que haya cualquier nmero de hombres o mujeres en el bao al mismo tiempo. La solucin debe asegurar exclusin mutua y evitar deadlock, pero no necesariamente debe ser equitativa. (b) Modifique la respuesta (a) para que a lo sumo cuatro personas estn en el bao al mismo tiempo. Ejercicio N 2 Se dispone de una BD que puede ser usada slo por 5 procesos al mismo tiempo. Hay dos tipos de procesos: A y B. Modelice el acceso a la Base de Datos usando semforos, teniendo en cuenta que: - no puede haber mas de 3 procesos A en la BD al mismo tiempo, - no puede haber mas de 4 procesos B en la BD al mismo tiempo, OPTIMICE la solucin de modo que la BD sea accedida por el mximo nmero de procesos simultneamente.Ejercicio N 3 Se realiza una competencia con N jugadores. La competencia comienza cuando llegan los N jugadores. Modelice usando semforos. Ejercicio N 4 Se dispone de una sala de juegos y jugadores. Para entrar a la sala se necesitan exactamente 5 jugadores. A medida que los jugadores llegan esperan hasta completar 5; y luego entran a jugar a la sala. Para poder salir de la misma, todos deben haber terminado de jugar. Modelice usando semforos. Los jugadores pueden usar a lo sumo una variable compartida. Ejercicio N 5 En una sala con 30 filas de 10 asientos cada uno se realiza un congreso. La sala tiene dos entradas por donde entran los congresistas. Suponga que existen N congresistas que cuando llegan hacen cola en la entrada en la entrada que en ese momento tenga menos gente. En caso que la sala este llena el congresista se va. Hay 3 acomodadores que van ubicando de a uno a los primeros de las colas hasta que la sala este llena o hasta que termine la conferencia. Para acomodar a los congresistas los acomodadores buscan un asiento libre y lo dejan en la punta de la fila indicndoles su asiento, para que luego el congresista se siente. Cuando se sentaron 40 congresistas comienza el congreso que dura 2 ha (modelice el tiempo con la funcin delay(x) que retarda un proceso x minutos) una vez que termina el congreso deben concluir todos los procesos. La entrada a la conferencia no interfiere con la bsqueda de los asientos libres.

Ejercicio N 6 L procesos A se ejecutan utilizando la BD M y K procesos B se ejecutan utilizando la

BD N, cuando terminan de acceder a la BD todos los procesos usan la BD O luego de usarla salen de la ejecucin. Tenga en cuenta que pueden acceder mas de 4 procesos concurrentes a la BD M y ms de 5 al la BD N. En la BD O siempre debe haber el mismo numero de procesos A y B, la primera vez deben entrar cuatro procesos como mnimo, y una vez que fue accedida no puede quedar vaca. Optimice la concurrencia en el resultado. Ejercicio N 7 En una carpintera se realizan muebles ensamblando 3 partes, existen N1 carpinteros para realizar la parte1, N2 para realizar la parte 2, N3 para la parte 3; mas N carpinteros que se encargan de ensamblar las 3 partes del mueble. Los encargados de ensamblar deben tomar una pieza de cada clase juntar las partes y una vez ensambladas los carpinteros que le dieron la pieza pueden seguir trabajando(no antes) En la carpintera solo se armaran 30 muebles y no se podrn producir piezas de mas. El armado debe hacerse en forma concurrente solo pueden esperarse entre los carpinteros de un mismo tipo cuando terminan una pieza hasta que los tome un ensamblador (es decir puede pensar que los ensambladores toman las piezas de a uno) Todos los procesos deben terminar correctamente no pueden quedar procesos colgados.