Está en la página 1de 8

Tarea 4 Solución a los 3 problemas 

clásicos de
sincronización de procesos.

Nombre del estudiante Guadalupe Martinez


Nombre del Curso Plataformas operativas de tecnologías de información
Tecnologías de la información aplicadas a la
Licenciatura/TSU
adminstración

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.

Momento en el que se da la exclusión mutua:


La exclusión mutua se da cu

ando dos filósofos comen al mismo tiempo ya que cuando eso pasa se estarán
utilizando 4 cubiertos de modo que no alcanzarán para todos y como
consecuencia los filósofos restantes proceden a esperar su turno para poder
comer.
Planteamiento del problema:

1.-El problema de la cena de los filósofos


Momento en el que se da la exclusión mutua y descripción de regiones críticas:
La exclusión mutua se da cuando dos filósofos comen al mismo tiempo ya que
cuando eso pasa se estarán utilizando 4 cubiertos de modo que no alcanzarán
para todos y como consecuencia los filósofos restantes proceden a esperar su
turno para poder comer.
Planteamiento del problema:

G
G

G
Pseudocódigo:
1. Inicio.
2. Cinco filósofos se sientan en la mesa la cual tiene 5 platos de spagheti.
3. El spagheti resulta ser tan escurridizo que para consumirlo se requieren 2
tenedores.
4. Cuando el filófoso tiene hambre toma 2 tenedores.
5. El filósofo come.
6. El filósofo termina de comer y continúa pensando.
7. Fin.

Solución:

Ed

D3
2.-El problema de los lectores y los escritores
Momento en el que se da la exclusión mutua y descripción de regiones críticas:
La exclusión mutua aparece cuando, alguien procede a alterar los datos o mejor
dicho “modificarlos” de la base de datos ya que en ese momento las demás
personas deben esperar para poder tener un acceso a la base.

Planteamiento del problema

d
Pseudocódigo:
1. Inicio
2. Varios procesos compiten por leer y escribir en ella
3. La base de datos permite ser leída
4. Alguien modifica la base de datos
5. La base de datos bloquea el acceso a todos los demás
6. Fin

3.-Problema de la barbería

Cuando se da la exclusión mutua:


La exclusión mutua se da cuando el barbero procede a atender a un cliente y en
ese momento ingresa otro cliente para ser atendido pero al estar ocupado el
babero procede a sentarse a esperar su turno.

Planteamiento:
Pseudocódigo:
1. Inicio
2. El barbero se va a dormir si no hay clientes.
3. Un cliente lo despierta si lo encuentra dormido.
4. El barbero lo atiende.
5. Si un cliente llega cuando el barbero está ocupando entonces se sienta a
esperar o se retira si no hay sillas libres.
6. Fin.

Algoritmo para el barbero:


Algoritmo para la barbería:

Bibliografía
Marker, G. (s.f.). www.tecnologia-informatica.com. Obtenido de www.tecnologia-
informatica.com: https://www.tecnologia-informatica.com/pseudocodigo/
Theastrologypage.com. (2022). es.theastrologypage.com. Obtenido de
es.theastrologypage.com: https://es.theastrologypage.com/mutual-exclusion
Vega, R. M. (21 de 01 de 2021). profile.es. Obtenido de profile.es:
https://profile.es/blog/que-es-un-algoritmo-informatico/

También podría gustarte