Estados
y transiciones de los procesos
La tarea
principal del procesador es ejecutar las reglas de la máquina que residen en la
memoria primaria. Para que un programa se ejecute, el sistema operativo crea un
nuevo proceso y el procesador ejecuta sus reglas en secuencia. En un entorno de
multiprogramación, el procesador intercala la ejecución de declaraciones de
diferentes programas que residen en la memoria. El sistema operativo es responsable
de decidir los patrones de anidamiento y la asignación de recursos para cada
proceso.
puede
detenerse porque el sistema operativo ha decidido ceder la CPU a otro proceso
durante un tiempo. En el segundo caso estamos hablando de una formalidad del sistema
(no hay suficiente CPU para darle a cada proceso su propio procesador privado).
1.-
Ejecutándose (usando realmente la CPU en este instante).
2.- Listo
(se puede ejecutar, pero se suspendió temporalmente para dejar que otro
proceso se
ejecute).
3.- Bloqueo
(no puede ejecutarse en tanto no ocurra algún evento externo).
Puede haber
cuánto transiciones entre estos tres estados, como se muestra.
La
transacción 1 ocurre después de que un proceso descubre que no puede continuar.
En ciertos sistemas, un proceso debe realizar una llamada al sistema, bloqueo,
para entrar en un estado bloqueado. En otros sistemas, MINIX incorporado, una
vez que un proceso lee desde un determinado canal o documento (por ejemplo, una
terminal) y no se puede acceder a ninguna entrada, se bloqueará
automáticamente.
Las
transiciones 2 y 3 son causadas por el programador de procesos, parte del
sistema operativo, sin que el proceso lo sepa.
La
transición 2 ocurre después de que el programador juzga que el proceso en
ejecución ha estado funcionando el tiempo suficiente y es hora de dejar que
otro proceso tenga algo de tiempo de CPU.
La
transacción 3 ocurre después de que todos los demás procesos hayan tenido su
parte justa y es hora de que el primer proceso reinicie la CPU.
La
transacción 4 pasa una vez que pasa el evento externo que está esperando un
proceso (como la llegada de la entrada). Sin otros procesos ejecutándose en ese
momento, la transacción 3 se activa y el proceso empieza a correr
De lo
contrario, es posible que el proceso deba esperar en espera durante un tiempo
hasta que la CPU esté disponible. Usando un modelo de proceso, es mucho más
fácil visualizar lo que está pasando en el sistema.
0 comentarios:
Publicar un comentario