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.

Entradas relacionadas: