Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MUTUA Y DE FILOSOFOS
COMENSALES EN PYTHON
Introduccion
En un sistema multiprogramado con un nico
procesador, los procesos se intercalan con el
tiempo, para dar apariencia de ejecucin
simultanea.
Aunque no se consigue un procesado paralelo
real, y aunque se produce un sobrecargado en la
CPU por el hecho de tener que cambiar de tarea
constantemente, las ventajas de todo esto son
muy elevadas.
Exclusin mutua
Definicin:
Consiste en que un solo proceso excluye
temporalmente a todos los dems para usar un
recurso compartido de forma que garantice la
integridad del sistema.
Exclusin mutua
Para solucionar el problema de la exclusin mutua
se tienen 3 tipos de soluciones:
Soluciones de software
Soluciones de hardware
Soluciones de
software
Algoritmo de Peterson
Es un algoritmo de programacin concurrente para
la exclusin mutua, que permite a dos o mas
procesos o hilos compartir un recurso sin
conflictos, utilizando solo la memoria compartida
para la comunicacin.
Primer intento
Segundo intento:
Tercer intento
Cuarto intento
Soluciones de software
Algoritmo de Dekker
Algoritmo para la programacin concurrente para
exclusin mutua, que permite a dos procesos
compartir recursos si conflictos, si ambos procesos
intentan acceder a la seccin critica
simultneamente, el algoritmo elige un proceso
segn una variable en turno.
Soluciones de
Hardware
Pesimistas:
Actualizan la variable
Filsofos comensales
Cincofilsofosse sientan alrededor de una mesa y pasan su vida
cenando y pensando. Cada filsofo tiene un plato de fideos y un
tenedor a la izquierda de su plato. Para comer los fideos son necesarios
dos tenedores y cada filsofo slo puede tomar los que estn a su
izquierda y derecha. Si cualquier filsofo toma un tenedor y el otro est
ocupado, se quedar esperando, con el tenedor en la mano, hasta que
pueda tomar el otro tenedor, para luego empezar a comer.
Si dos filsofos adyacentes intentan tomar el mismo tenedor a una vez,
se produce unacondicin de carrera: ambos compiten por tomar el
mismo tenedor, y uno de ellos se queda sin comer.
Algunas posibles
soluciones
Varios turnos
Colas de tenedores