ALEGSA · Actualidad

¿Qué es el problema de inanición o starvation en un sistema operativo?

¡Hola! Este problema se conoce como el problema de inanición o starvation en inglés. Esto sucede cuando un proceso nunca es seleccionado para su ejecución debido a que...

¿Qué es el problema de inanición o starvation en un sistema operativo?

Título: ¿Qué es el problema de inanición o starvation en un sistema operativo?
Fecha: 14-05-2023 20:09

Pregunta o consulta del visitante:

¡Hola! Me gustaría saber más sobre el riesgo que tienen los algoritmos de planificación de procesos de colocar procesos al final de la cola y que nunca lleguen a ejecutarse en el microprocesador. ¿Qué se conoce como esto? Muchas gracias.

Respuesta de ALEGSA.com.ar:

¡Hola! Este problema se conoce como el problema de inanición o starvation en inglés.

Esto sucede cuando un proceso nunca es seleccionado para su ejecución debido a que otros procesos siempre tienen prioridad sobre él.

La planificación de procesos es una tarea crítica en el sistema operativo, y el algoritmo elegido debe asegurar que todos los procesos tengan una oportunidad justa de ser ejecutados.

Para evitar la inanición, algunos algoritmos de planificación utilizan técnicas como la prioridad dinámica o la rotación de procesos para garantizar una distribución justa de los recursos del sistema.

Hace un tiempo, un amigo programador de una empresa de tecnología me contó una anécdota relacionada con esta consulta. Resulta que estaban desarrollando un software que debía ejecutar varios procesos al mismo tiempo, y utilizaron un algoritmo de planificación de procesos que aparentemente era muy bueno.

Sin embargo, después de algunas pruebas, descubrieron que uno de los procesos nunca se ejecutaba, aunque los demás sí. Después de investigar un poco, se dieron cuenta de que ese proceso quedaba al final de la cola y nunca llegaba a ser ejecutado por el microprocesador. Lo solucionaron modificando algunos parámetros del algoritmo, pero fue un buen ejemplo de cómo un pequeño error puede arruinar todo el trabajo.

Ejemplo sobre el problema de inanición

Supongamos que tenemos un sistema operativo que utiliza el algoritmo de planificación de procesos Round Robin, en el cual cada proceso recibe un tiempo de ejecución igual antes de ser reemplazado por otro proceso en la cola de espera. En una situación particular, tenemos cuatro procesos en la cola, llamados A, B, C y D, en ese orden. El tiempo de ejecución asignado a cada proceso es de 10 unidades de tiempo.

Durante la ejecución del sistema operativo, ocurre un evento inesperado que produce un alto consumo de recursos por parte de los procesos B y C, como resultado de lo cual su tiempo de ejecución se extiende a 20 unidades de tiempo. Después de que estos dos procesos terminan su ejecución, se vuelve a la asignación de tiempo original de 10 unidades de tiempo para cada proceso.

Si el algoritmo de Round Robin sigue funcionando normalmente, los procesos A y D en la cola serán ejecutados antes que los procesos B y C. Esto se debe a que cuando B y C están ejecutándose, el tiempo total del proceso excede el tiempo de ejecución asignado, por lo que Round Robin tiene que terminar de ejecutarlos antes de pasar al siguiente proceso.

Sin embargo, si durante el proceso de planificación, el tiempo total de ejecución de un proceso supera el tiempo de ejecución asignado para todos los procesos, ese proceso podría quedarse en último lugar en la cola y nunca llegar a ser ejecutado. Esto es conocido como "starvation", es decir, un proceso se queda hambriento de tiempo.

Por lo tanto, en el ejemplo anterior, si A y D no logran completar su ejecución antes de que el tiempo total de B y C supere el tiempo de ejecución asignado, A y D nunca serán ejecutados y quedarán hambrientos de tiempo, lo que podría hacer que el sistema operativo no responda correctamente o incluso fallar completamente.



Preguntas relacionadas para el Asistente IA:

1 - ¿Por qué la planificación de procesos es una tarea crítica en el sistema operativo?

2 - ¿Qué técnicas se utilizan para evitar la inanición en un sistema operativo?


Compartir nota

Consultá dudas con nuestro Asistente IA

ALEGSA IA · Tecnología

Consultá al asistente IA

Escribí tu consulta sobre informática, internet, tecnología, programación, hardware, software o seguridad. El asistente responde en segundos y podés elegir si querés una respuesta completa o breve.

Cuanto más clara sea tu pregunta, mejor responderá la IA. 0/400
Tipo de respuesta
Ayuda para escribir una mejor consulta

Dále contexto a la IA: explicá qué querés resolver, qué equipo o sistema usás y qué tipo de respuesta necesitás. Si lo deseás, dejá tu e-mail para que podamos contactarte si detectamos un error o si nuestro staff quiere ampliar la respuesta. Cada consulta se procesa como una nueva pregunta.

* Aclaración: sugerimos dejar tu e-mail si querés que podamos contactarte para corregir una respuesta o ampliar la ayuda.

Nuestras redes

Podés seguirnos y contactarnos desde nuestras redes sociales.

Comentarios relacionados

Consultas recientes vinculadas con esta misma página.