El sistema operativo es el software más fundamental que se ejecuta en una computadora. Es responsable de administrar la memoria y los procesos de la computadora, así como de proteger los detalles del hardware de los programas de aplicación que lo utilizan. El sistema operativo de una computadora también garantiza una asignación justa de recursos a los usuarios y programas, en lugar de una distribución equitativa entre los procesos. Un sistema de planificación justo permite que un proceso use la CPU mientras que el otro está esperando en la cola. Como resultado, cada subproceso obtiene suficiente acceso a recursos limitados, lo que evita las dos condiciones más comunes que, de lo contrario, retrasarían el proceso: punto muerto e inanición. Ambos son conceptos relacionados donde los procesos no tienen acceso a los recursos. Este artículo destaca algunos puntos clave comparando los dos en varios frentes.
El interbloqueo es una condición en la que se bloquea un conjunto de subprocesos porque cada proceso que contiene un recurso está intentando acceder a otros recursos que otro proceso está reteniendo, lo que eventualmente impide una programación justa del sistema. Una situación de interbloqueo surge cuando las siguientes cuatro condiciones son verdaderas: la exclusión mutua significa que solo un proceso puede acceder a un recurso a la vez; Ninguna condición de preferencia significa que un recurso solo puede ser liberado voluntariamente por el proceso que mantiene el recurso; Mantener y esperar significa que un proceso que contiene recursos puede solicitar recursos adicionales mantenidos por otros procesos y; La espera circular significa que dos o más procesos están atrapados en una cadena circular esperando que cada proceso libere sus recursos respectivos.
La inanición es una condición que surge cuando un proceso ingresa indefinidamente en el período de espera, ya que un proceso de baja prioridad nunca tiene la oportunidad de acceder al recurso debido a un flujo constante de procesos de alta prioridad que acceden al mismo recurso. Es un problema de administración de recursos porque a un proceso se le niega el acceso al recurso que requiere, lo que lleva al proceso a un período de espera indefinido. Ocurre porque el recurso que requiere nunca se asigna al proceso, lo que hace que el proceso se quede sin recursos, de ahí el nombre. La mejor manera de evitar la inanición es utilizar la técnica de envejecimiento, que aumenta gradualmente la prioridad de los procesos que están en el período de espera durante mucho tiempo para garantizar un sistema de programación justo..
Tanto el punto muerto como la inanición son conceptos relacionados que impiden que una programación justa del sistema en la que los procesos están bloqueados para obtener acceso a los recursos. El interbloqueo, como su nombre indica, se refiere a una condición donde un conjunto de subprocesos o procesos se bloquean porque cada proceso está esperando para adquirir un recurso que está siendo retenido por otro proceso, lo que resulta en una situación de interbloqueo donde los programas dejan de funcionar. Por otro lado, la inanición se desencadena por un interbloqueo que hace que un proceso se congele porque a un proceso de baja prioridad se le niega el acceso a un recurso que está asignado a un proceso de alta prioridad.
Un interbloqueo se refiere a una condición específica que se produce cuando un subproceso o un proceso entra en un período de espera porque el recurso del sistema que solicitó está siendo retenido por otro proceso, que a su vez está esperando que otro proceso libere su recurso, creando así un interbloqueo. Esto es causado por la mala utilización de los recursos. La inanición es una condición de aplazamiento indefinido en la que a un proceso de baja prioridad se le niega el acceso a los recursos que requiere porque los recursos se asignan a otro proceso de alta prioridad. Es un problema de administración de recursos que obliga al sistema a asignar recursos solo a procesos de alta prioridad..
El interbloqueo es la última forma de inanición causada cuando las siguientes cuatro condiciones ocurren simultáneamente: Exclusión mutua, Sin preferencia, Retención y espera y Espera circular. Una condición de interbloqueo se produce solo en sistemas en los que se cumplen las cuatro condiciones. La inanición se produce en función de diferentes condiciones, como cuando no hay suficientes recursos y la prioridad de los procesos comienza a disminuir o cuando los procesos comienzan a asignar recursos a otros procesos sin control. Si un proceso de baja prioridad solicita un recurso reservado para los procesos de mayor prioridad, el proceso se quedará sin vida para siempre. La inanición también se produce cuando los recursos se asignan arbitrariamente, lo que hace que los procesos esperen durante un período de tiempo más prolongado..
La inanición se puede evitar mediante el uso de un algoritmo de programación adecuado con una cola de prioridad que, de hecho, también usa la técnica de envejecimiento, una técnica de programación que agrega el factor de antigüedad a la prioridad de cada solicitud, lo que significa que aumenta el nivel de prioridad de los procesos de baja prioridad que han estado esperando. por mucho tiempo. También proporcionar más recursos a los programas debe evitar la congestión continua de recursos. Para evitar que el sistema entre en un punto muerto, se debe negar a los procesos el acceso a uno o más recursos mientras simultáneamente espera a otros y solo se debe permitir que un proceso acceda a un recurso a la vez.
Tanto el punto muerto como la inanición son conceptos relacionados en sistemas operativos de multiprocesamiento o sistemas distribuidos que hacen que uno o más subprocesos o procesos se atasquen en la espera de los recursos que necesitan. El interbloqueo es una situación que surge cuando uno o más procesos solicitan el acceso al mismo recurso que causa que el proceso se congele, mientras que la inanición es causada por el interbloqueo que empuja el proceso a un estado de aplazamiento indefinido porque se niega el acceso a un recurso en poder de un Proceso de alta prioridad y necesidad de esperar para siempre..