Soluciones Hardware - Exclusión Mutua
Las soluciones hardware se dividen en dos tipos:
* Optimistas.
* Consideran que lo mas probable es que no haya conflictos, y si los hay sea en número reducido, por loque permiten cualquier acceso a la variable compartida. En caso de conflicto, mantienen la integridad del sistema descartando las actualizaciones.
* Pesimistas.
* Bloquean todo aquello quepueda interferir.
* Actualizan la variable.
* Desbloquean lo bloqueado al principio.
Inhabilitación de interrupciones
* Deshabilitar interrupciones y habilitar interrupciones(pesimista).
Instrucciones Especiales de Máquina
* Test and Set (Comparar y Fijar) (pesimista).
* Comparar e intercambiar (optimista).
Inhabilitación de interrupciones
En una máquinamonoprocesador, la ejecución de procesos concurrentes no puede superponerse; los procesos solo pueden intercalarse. Es más, un proceso continuará ejecutándose hasta que solicite un servicio el sistemaoperativo o hasta que sea interrumpido. Por lo tanto, para garantizar la exclusión mutua, es suficiente con impedir que un proceso sea interrumpido. Un proceso puede hacer cumplir la exclusión mutua delsiguiente modo:
While (cierto){
/*inhabilitar interrupciones */;
/* sección critica */;
/* habilitar interrupciones */;
/* resto */;
}
Puesto que la sección crítica no puede ser interrumpida, laexclusión mutua está garantizada. Sin embargo, el precio de esta solución es alto. La eficiencia de la ejecución puede verse notablemente degradada debido a que se limita la capacidad del procesador paraintercalar programas. Un segundo problema es que está técnica no funciona en arquitecturas de multiprocesador. Cuando el sistema tenga más de un procesador, es posible (y habitual) que haya más de unproceso ejecutándose al mismo tiempo. En este caso, inhabilitar las interrupciones no garantiza la exclusión mutua.
Instrucciones especiales de máquina
En configuraciones multiprocesador, varios...
Regístrate para leer el documento completo.