Descarga el formato de la tarea aquí

Anuncio
Tarea 4 Solución a los 3 problemas clásicos de
sincronización de procesos.
Nombre del estudiante
Nombre del Curso
Plataformas operativas de tecnologías de información
Licenciatura/TSU
Instrucciones
Indicaciones: Señala, para cada problema, en qué momentos se crea la exclusión mutua, describiendo
sus regiones críticas. Realiza el planteamiento de los 3 problemas, mediante mapas mentales y
pseudocódigo, posteriormente realiza la solución a dichas problemáticas mediante un algoritmo (no
utilices lenguaje de programación).
1.-El problema de la cena de los filósofos
En 1965 Dijkstra planteó y resolvió un problema de sincronización llamado el problema de la cena de los
filósofos, que se puede enunciar como sigue. Cinco filósofos se sientan a la mesa, cada uno con un plato de
spaghetti. El spaghetti es tan escurridizo que un filósofo necesita dos tenedores para comerlo. Entre cada dos
platos hay un tenedor. La vida de un filósofo consta de periodos alternos de comer y pensar. Cuando un filósofo
tiene hambre, intenta obtener un tenedor para su mano derecha, y otro para su mano izquierda, cogiendo uno a
la vez y en cualquier orden. Si logra obtener los dos tenedores, come un rato y después deja los tenedores y
continúa pensando. La pregunta clave es: ¿puede el lector escribir un programa para cada filósofo que permita
comer equitativamente a los filósofos y no se interbloquee?
2.-El problema de los lectores y los escritores
El problema de la cena de los filósofos es útil para modelar procesos que compiten por el acceso exclusivo a un
número limitado de recursos, como una unidad de cinta u otro dispositivo de E/S. Otro problema famoso es el
de los lectores y escritores (Courtois et al., 1971), que modela el acceso a una base de datos. Supóngase una
base de datos, con muchos procesos que compiten por leer y escribir en ella. Se puede permitir que varios
procesos lean de la base de datos al mismo tiempo, pero si uno de los procesos está escribiendo (es decir,
modificando) la base de datos, ninguno de los demás debería tener acceso a ésta, ni siquiera los lectores. La
pregunta es ¿cómo programaría los lectores y escritores?
3.-Problema de la barbería
En una barbería hay un barbero, N sillas donde esperan los clientes y la silla del barbero. Si no hay clientes que
atender, el barbero se sienta el la silla del barbero y se duerme. Si llega un cliente y se encuentra al barbero
dormido, lo despierta y el barbero le atiende Si llega un cliente mientras el barbero ya esta atendiendo a otro se
sienta a esperar en una de las sillas Si llega un cliente, el barbero esta ocupado y todas las sillas están
ocupadas se marcha sin ser atendido.
Descargar