Sie sind auf Seite 1von 1

Problemas Clásicos para ir Pensando

La cena de los Filósofos


Cinco Filósofos se sientan a cenar, en la mesa hay 5 platos, y 5 cubierto, la condición es que, cada
filosofo tiene que comer con 2 cubiertos, caso contrario, no podrá hacerlo, allí nace el problema,
existen muchas posibilidades, si 2 filósofos que están adyacentes van a por el mismo cubierto, se
dará una competencia, y solo uno comerá(Fracaso de un proceso), si todos cogen el tenedor del
mismo lado a la vez, ninguno podrá comer, produciendo un interbloqueo(Fracaso de todos los
procesos). Las soluciones que se presentan deben ser cuidadosamente analizadas y usadas según
sea el caso, por ejemplo, por turno cíclico; que cada uno coma a su turno individualmente
(corriendo el riesgo de que pase mucho tiempo), portero del comedor; Restringir el número de
participantes, cola de tenedores: Si hay necesidad de comer, se realiza una cola, para esperar su
segundo tenedor, al finalizar, deja libres sus 2 tenedores, y así sucesivamente, siendo esta ultima
la mas optima para solucionar el problema y que ninguno se vea perjudicado, Hace una metáfora
a la sincronización de procesos. En todos estos casos los procesos se realizarían uno a la vez y no
todos al mismo tiempo.
Fumadores Compulsivos
El problema tiene involucrado a 1 agente y 3 fumadores, lo que necesitan para fumar son tabaco,
papel y fósforo, el agente tiene infinidad de suministros de los 3 elementos, mientras que los
fumadores tiene infinitos elementos pero solo de un suministro, el agente elige al azar 2
ingredientes cualesquiera de los que tiene, y el fumador que tiene el ultimo ingrediente que falta,
junta estos 3 para poder fumar. Referencia a un Sistema Operativo, un sistema operativo que
asigna recursos, y los fumadores representan aplicaciones que necesitan recursos. Se desea con
este asegurar los elementos necesarios para que una aplicación funcione para llamarla, caso
contrario se debe evitar abrir procesos que no funcionaran por falta de recursos.
Problema Productor – Consumidor
Este problema se refiere a la repartición del trabajo realizado por programas, bajo la idea de hilos
este se puede dividir en dos clases, los productores quienes crean un objeto evento, envían al
buffer, y los consumidores que los procesan y luego los eliminan (son quienes manejan los
eventos). En el proceso van a tender a tener restricciones para el correcto funcionamiento, el
buffer debe permitir por lapsos el acceso a subprocesos, el buffer debe ser accesible al
consumidor solo cuando tiene objetos evento. En la solución podemos crear restricciones de
acceso al buffer para el productor y consumidor, controlando el número de eventos en el bufer
además de dar autoridad a subprocesos para poner en espera de un evento. En resumen la
sincronización debe permitir al productor crear eventos que serán almacenados y estos luego
ingresados y procesados por el consumidor, tomando en cuenta la capacidad del buffer y si este
contiene evento alguno.
Problema Lectores-Escritores
Este problema se refiere a la situación en la cual se tiene que acceder a una base de datos,
modificarla y leerla, mediante hilos. Esto a menudo se evita porque en los procesos pueden
ocurrir modificaciones que no se desea que sean leídas por otros hilos. Para solucionar esto los
lectores y escritores están en diferentes secuencias, para luego entrar en si a la solución la cual se
restringe por, en hito puede haber varios lectores (varios hilos), a diferencia de lo anterior solo un
escritor puede acceder a este hito (exclusividad para acceder).El caso de exclusividad implica que
esta excepción es tratada como categorías y no como tema de hilos. La solución implica que la
sincronización, se debe monitorear el acceso le los lectores, si el hito esta vacio ingresa un
escritor y solo puede permanecer él, si un lector desea ingresar, este estará en espera (cola), la
clave está en contar el acceso de lectores y cuando este contador sea 0, pueda ingresar el
escritor, y se bloqueara cualquier otro acceso, esto evita la lectura de datos erróneos.

Das könnte Ihnen auch gefallen