Requisitos previos:
- Estados de un Proceso en Sistemas Operativos
- Modelo de proceso de dos estados en el sistema operativo
Un proceso es un programa en ejecución que consta de una serie de elementos, incluidos el código del programa y un conjunto de datos. Para ejecutar un programa, se debe crear un proceso para ese programa. Aquí, el proceso puede ejecutarse o no, pero si está en condiciones de ejecutarse, el sistema operativo debe mantenerlo para que se obtenga el progreso adecuado del proceso.
Necesidad de un modelo de proceso de cinco estados
En el modelo de cinco estados, los estados se han dividido en dos estados que no se ejecutan: listo y bloqueado , y junto con esto, se agregan dos estados más para el propósito: Nuevo y Salir/Terminar . Estos dos estados se utilizan porque, en los modelos anteriores, la memoria principal es capaz de almacenar todos los programas, pero eso no es cierto porque los programas ahora son muy grandes y cargar esos procesos en la memoria principal es muy difícil o incluso imposible. y también si hay un requisito para usar los recursos anteriores que son liberados por el proceso, entonces eso no es posible aquí.
Los cinco estados que se utilizan en este modelo de proceso son:
- En ejecución: Significa un proceso que se está ejecutando actualmente. Suponiendo que solo hay un único procesador en el siguiente proceso de ejecución, habrá como máximo un procesador a la vez que pueda ejecutarse en el estado.
- Listo: significa un proceso que está preparado para ejecutarse cuando el sistema operativo le dé la oportunidad.
- Bloqueado/Esperando: Significa que un proceso no puede continuar ejecutándose hasta que ocurra algún evento como por ejemplo, la finalización de una operación de entrada-salida.
- Nuevo: Significa un nuevo proceso que ha sido creado pero aún no ha sido admitido por el SO para su ejecución. No se carga un nuevo proceso en la memoria principal, pero se ha creado su bloque de control de proceso (PCB).
- Salir/Terminar: un proceso o trabajo que ha sido liberado por el sistema operativo, ya sea porque se completó o se abortó por algún problema.
Ejecución del proceso en el modelo de dos estados
Este modelo consta de cinco estados, es decir, en ejecución, listo, bloqueado, nuevo y salir. El modelo funciona cuando se produce un nuevo trabajo/proceso en la cola, primero se admite en la cola y luego pasa al estado listo. Ahora en el estado Listo, el proceso pasa al estado de ejecución. En el estado de ejecución, un proceso tiene dos condiciones, es decir, el proceso va al evento de espera o el proceso tiene un tiempo de espera.
Si se agotó el tiempo de espera del proceso, entonces el proceso vuelve al estado listo ya que el proceso no ha completado su ejecución. Si un proceso tiene una condición de espera de evento, el proceso pasa al estado bloqueado y luego al estado listo. Si ambas condiciones son verdaderas, el proceso pasa al estado de ejecución después del envío, después de lo cual el proceso se libera y finalmente finaliza.
Posibles transiciones de estado
Puede haber varios eventos que conduzcan a una transición de estado para un proceso. Las posibles transiciones de estado se dan a continuación:
- Nulo -> Nuevo: Se crea un nuevo proceso para la ejecución de un proceso.
- Nuevo -> Listo: el sistema moverá el proceso del estado nuevo al listo y ahora está listo para ejecutarse. Aquí, un sistema puede establecer un límite para que no puedan ocurrir múltiples procesos; de lo contrario, puede haber un problema de rendimiento.
- Listo -> En ejecución: el sistema operativo ahora selecciona un proceso para una ejecución y el sistema elige solo un proceso en un estado listo para la ejecución.
- Ejecutando -> Salir: el sistema finaliza un proceso si el proceso indica que ahora se completó o si se canceló.
- En ejecución -> Listo: la razón por la que se produce esta transición es que cuando el proceso en ejecución ha alcanzado su tiempo máximo de ejecución para una ejecución ininterrumpida. Un ejemplo de esto puede ser un proceso que se ejecuta en segundo plano y que realiza algún mantenimiento u otras funciones periódicamente.
- En ejecución -> Bloqueado: un proceso se pone en estado bloqueado si solicita algo que está esperando. Por ejemplo, un proceso puede solicitar algunos recursos que pueden no estar disponibles en ese momento o puede estar esperando una operación de E/S o esperando que finalice algún otro proceso antes de que el proceso pueda continuar.
- Bloqueado -> Listo: un proceso pasa del estado bloqueado al estado listo cuando ocurre el evento que estaba esperando.
- Listo -> Salir: esta transición solo puede existir en algunos casos porque, en algunos sistemas, un padre puede terminar el proceso de un niño en cualquier momento.
Beneficios:
- Los estados Nuevo y Salir son construcciones muy útiles para administrar el proceso.
- Es una forma eficiente del modelo de proceso de dos estados anterior.
Inconvenientes:
- Si un proceso termina o sale del sistema operativo, el sistema operativo no conserva sus datos.
- Puede haber un problema de rendimiento, ya que en una situación en la que cada proceso pasa a un estado bloqueado, la CPU permanece inactiva hasta que al menos un proceso abandona el estado de espera.
Publicación traducida automáticamente
Artículo escrito por tarunsinghwap7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA