Mecanismos de exclusión mutua

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,95 KB

 

COMPETENCIA ENTRE PROCESOS POR LOS RECURSOS:


Exclusión mutua

–Secciones críticas:

•Sólo un programa puede acceder a su sección crítica en un momento dado.

•Por ejemplo, sólo 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.

  • Puede producirse un interbloqueo:

–Cada proceso puede estar esperando una comunicación del otro.

  • Puede producirse inanición:

–Dos procesos se están mandando mensajes mientras que otro proceso está esperando recibir un mensaje.

REQUISITOS PARA LA Exclusión MUTUA:

  • Sólo 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 sólo 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.

–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.

•Carácterísticas básicas:

–Las variables de datos locales están sólo accesibles para el monitor.

–Un proceso entra en el monitor invocando a uno de sus procedimientos.

–Sólo 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 sera posible.

–El receptor se bloquea hasta que llega el mensaje solicitado.

•Envío no bloqueante, recepción no bloqueante:

–Nadie debe esperar.

Entradas relacionadas: