Sem Foros
Los sistemas operativos usansemáforos para controlar el acceso a una sección critica o recursos compartidos. El semáforo se inicializa en un valor que corresponde al número de recursos disponibles. Cada proceso que quiere usarun recurso realiza una operación WAIT en el semáforo. Cuando libera el recurso, realiza operaciones SIGNAL. Cuando el contador es 0, todos los recursos están siendo utilizados, y los procesos quequieran usar recursos, se bloquearan hasta que el contador sea mayor q 0.
Implementación: uno de los problemas mas generales es que cuando un proceso no encuentra un recurso disponible, el proceso sequeda realizando un spin, a esto se lo denomina espera ocupada y se desperdician ciclos de cpu. Para evitar este problema, se utiliza el método de bloqueo, que hace que cuando el proceso no encuentra unrecurso disponible, se bloquea a si mismo y se coloca en una cola de espera asociada con el semáforo, y el proceso se pasa al estado de espera. Luego, se devuelve el control al planificador de la cpu,el cual selecciona otro proceso para su ejecución. Un proceso que esta bloqueado, esperando un semáforo deberá ser reiniciado cuando algún otro proceso ejecuta una operación SIGNAL. El proceso seinicia mediante una operación Wakeup, que cambia el estado del proceso de espera a listo. Este proceso, se coloca luego en la cola de listos.
El problema de los filósofos comensales: Considere a 5...
Regístrate para leer el documento completo.