in

Semáforos en el sistema operativo

60 165994 1512670078

Los semáforos son variables enteras que se utilizan para resolver el problema de la sección crítica mediante el uso de dos operaciones atómicas, esperar y señal, que se utilizan para la sincronización de procesos.

Las definiciones de espera y señal son las siguientes:

  • Esperar

    La operación de espera disminuye el valor de su argumento S, si es positivo. Si S es negativo o cero, no se realiza ninguna operación.

wait(S)
{
   while (S<=0);

   S--;
}
signal(S)
{
   S++;
}

Tipos de semáforos

Hay dos tipos principales de semáforos, es decir, contar semáforos y semáforos binarios. Los detalles sobre estos se dan de la siguiente manera:

  • Contando semáforos

    Estos son semáforos de valor entero y tienen un dominio de valor no restringido. Estos semáforos se utilizan para coordinar el acceso a los recursos, donde el recuento de semáforos es el número de recursos disponibles. Si se agregan los recursos, el recuento de semáforos se incrementa automáticamente y si se eliminan los recursos, el recuento se reduce.

  • Semáforos binarios

    Los semáforos binarios son como contar semáforos pero su valor está restringido a 0 y 1. La operación de espera solo funciona cuando el semáforo es 1 y la operación de señal tiene éxito cuando el semáforo es 0. A veces es más fácil implementar semáforos binarios que contar semáforos.

Ventajas de los semáforos

Algunas de las ventajas de los semáforos son las siguientes:

  • Los semáforos solo permiten un proceso en la sección crítica. Siguen estrictamente el principio de exclusión mutua y son mucho más eficientes que algunos otros métodos de sincronización.
  • No hay desperdicio de recursos debido a la espera ocupada en semáforos, ya que el tiempo del procesador no se desperdicia innecesariamente para verificar si se cumple una condición para permitir que un proceso acceda a la sección crítica.
  • Los semáforos se implementan en el código independiente de la máquina del micronúcleo. Por tanto, son independientes de la máquina.

Desventajas de los semáforos

Algunas de las desventajas de los semáforos son las siguientes:

  • Los semáforos son complicados, por lo que las operaciones de espera y señal deben implementarse en el orden correcto para evitar puntos muertos.
  • Los semáforos no son prácticos para el uso de la última escala, ya que su uso conduce a la pérdida de modularidad. Esto sucede porque las operaciones de espera y señal impiden la creación de un diseño estructurado para el sistema.
  • Los semáforos pueden conducir a una inversión de prioridad donde los procesos de baja prioridad pueden acceder a la sección crítica primero y los procesos de alta prioridad más tarde.

raja

Publicado el 10-oct-2018 19:07:14

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

logo telegram telefono 13534

Cómo crear una cuenta y conectarme a Telegram desde mi iPhone o mi móvil Android

apple touch icon@2

r – Entender el resultado del operador de módulo: %%