Gestión de Procesos y Sincronización en Sistemas Operativos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,77 KB
Competencia entre Procesos por los Recursos
Exclusión Mutua
Secciones Críticas
- Solo un programa puede acceder a su sección crítica en un momento dado.
- Por ejemplo, solo se permite que un proceso envíe una orden a la impresora en un momento dado.
- Interbloqueo.
- Inanición.
Cooperación entre Procesos por Compartimiento
- Las operaciones de escritura deben ser mutuamente excluyentes.
- Las secciones críticas garantizan la integridad de los datos.
Cooperación entre Procesos por Comunicación
Paso de Mensajes
- No es necesario el control de la exclusión mutua.
Posibles Problemas
Interbloqueo
- Cada proceso puede estar esperando una comunicación del otro.
Inanición
- Dos procesos se están mandando mensajes mientras que otro proceso está esperando recibir un mensaje.
Requisitos para la Exclusión Mutua
- Solo un proceso debe tener permiso para entrar en la sección crítica por un recurso en un instante dado.
- Un proceso que se interrumpe en una sección crítica debe hacerlo sin interferir con los otros procesos.
- No puede permitirse el interbloqueo o la inanición.
- Cuando ningún proceso está en su sección crítica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin dilación.
- No se deben hacer suposiciones sobre la velocidad relativa de los procesos o el número de procesadores.
- Un proceso permanece en su sección crítica solo por un tiempo finito.
Exclusión Mutua: Soluciones por Hardware
Inhabilitación de Interrupciones
- Un proceso continuará ejecutándose hasta que solicite un servicio del sistema operativo o hasta que sea interrumpido.
- Para garantizar la exclusión mutua es suficiente con impedir que un proceso sea interrumpido.
- Se limita la capacidad del procesador para intercalar programas.
Consideraciones en Multiprocesador
- Inhabilitar las interrupciones de un procesador no garantiza la exclusión mutua.
Instrucciones Especiales de Máquina
- Se realizan en un único ciclo de instrucción.
- No están sujetas a injerencias por parte de otras instrucciones.
- Leer y escribir.
- Leer y examinar.
Instrucciones de Máquina y Exclusión Mutua
Ventajas
- Es aplicable a cualquier número de procesos en sistemas con memoria compartida, tanto de monoprocesador como de multiprocesador.
- Es simple y fácil de verificar.
- Puede usarse para disponer de varias secciones críticas.
Desventajas
- La espera activa consume tiempo del procesador.
- Puede producirse inanición cuando un proceso abandona la sección crítica y hay más de un proceso esperando.
Interbloqueo
- Si un proceso con baja prioridad entra en su sección crítica y existe otro proceso con mayor prioridad, entonces el proceso cuya prioridad es mayor obtendrá el procesador para esperar a poder entrar en la sección crítica.
Semáforos
- Para la señalización se utiliza una variable especial llamada semáforo.
- Si un proceso está esperando una señal, el proceso es suspendido hasta que tenga lugar la transmisión de la señal.
- Las operaciones wait y signal no pueden ser interrumpidas.
- Se emplea una cola para mantener los procesos esperando en el semáforo.
- Un semáforo es una variable que tiene un valor entero:
- Puede iniciarse con un valor no negativo.
- La operación wait disminuye el valor del semáforo.
- La operación signal incrementa el valor del semáforo.
Monitores
Un monitor es un módulo de software.
Características Básicas
- Las variables de datos locales están solo accesibles para el monitor.
- Un proceso entra en el monitor invocando a uno de sus procedimientos.
- Solo un proceso se puede estar ejecutando en el monitor en un instante dado.
Sincronización
El emisor y el receptor pueden ser bloqueantes o no bloqueantes (esperando un mensaje).
Envío Bloqueante, Recepción Bloqueante
- Tanto el emisor como el receptor se bloquean hasta que se entrega el mensaje.
- Esta técnica se conoce como rendezvous.
Envío No Bloqueante, Recepción Bloqueante
- Permite que un proceso envíe uno o más mensajes a varios destinos tan rápido como sea posible.
- El receptor se bloquea hasta que llega el mensaje solicitado.
Envío No Bloqueante, Recepción No Bloqueante
- Nadie debe esperar.