El problema del
barbero durmiente es un problema de sincronización; consiste en una barbería
en la que trabaja un
barbero, que tiene un único sillón de barbero y
varias sillas para esperar. Cuando no hay clientes, el barbero se sienta en una
silla y se duerme. Cuando llega un nuevo cliente, éste o bien despierta al
barbero o —si el barbero está afeitando a otro cliente— se sienta en una
silla(o se va si todas las sillas están ocupadas por clientes esperando). El
problema consiste en realizar la actividad
del barbero sin que ocurran condiciones de carrera. La solución implica el uso
de semáforos y objetos de exclusión mutua para proteger la sección
crítica.
Un semáforo es una variable protegida (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento) en un entorno de multiprocesamiento. Fueron inventados por Edsger Dijkstra y se usaron por primera vez en el sistema operativo THEOS.
Un semáforo es una variable protegida (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento) en un entorno de multiprocesamiento. Fueron inventados por Edsger Dijkstra y se usaron por primera vez en el sistema operativo THEOS.
En electrónica y en
programación concurrente, se conoce como condición de carrera al error que se produce en programas o circuitos lógicos que no
se han construido adecuadamente para su ejecución simultánea con otros
procesos.
No hay comentarios:
Publicar un comentario