2.2 Estados y transiciones de los procesos

El principal trabajo del procesador es ejecutar las instrucciones de máquina que se
encuentran en memoria principal. Estas instrucciones se encuentran en forma de
programas. Para que un programa pueda ser ejecutado, el sistema operativo crea
Resultado de imagen para 2.2 Estados y transiciones de los procesos
un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del

mismo. En un entorno de multiprogramación, el procesador intercalará la ejecución
de instrucciones de varios programas que se encuentran en memoria. El sistema
operativo es el responsable de determinar las pautas de intercalado y asignación
de recursos a cada proceso. Aunque cada proceso se una entidad independiente,
con su propio contador de programa y estado interno, los procesos a menudo
necesitan interactuar con otros procesos. Un proceso podría generar ciertas
salidas que otro proceso utilizan como entradas, en el comando de Shell.
Cuando un proceso se bloquea, lo que hace porque le es imposible continuar
lógicamente, casi siempre porque está separando entradas que todavía no están 
disponibles, también puede ser que un programa que conceptualmente está listo y
en condiciones de ejecutarse sea detenido porque el sistema operativo ha
decidido asignar la CPU a otro proceso durante un tiempo. Estas dos condiciones
son totalmente distintas, en el primer caso, la suspensión es inherente al problema
(no es posible procesar la línea de comandos del usuarios antes de que este la
teclee). En el segundo caso, se trata de un tecnicismo 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).

Resultado de imagen para 2.2 Estados y transiciones de los procesosPuede haber cuánto transiciones entre estos tres estados, como se muestra.
La transacción 1 ocurre cuando un proceso descubre que no puede continuar. En
algunos sistemas el proceso debe ejecutar una llamada al sistema, block, para
pasar al estado bloqueado. En otros sistemas, incluido MINIX, cuando un proceso
lee de un conducto o de un archivo especial, (p.ej., una terminal) y no hay
entradas disponibles, se bloquea automáticamente.
Las transiciones 2 y 3 son causadas por el planificador de procesos, un parte del
sistema operativo, sin que el proceso se entere siquiera de ellas.
La transición 2 ocurre cuando el planificador decide que el proceso en ejecución
ya se ejecutó durante suficiente tiempo y es ahora de dejar que otros procesos
tengan algo de tiempo de CPU.
La transacción 3 ocurre cuando todos los demás procesos han disfrutado de una
porción justa y es hora de que el primer proceso reciba otra vez la CPU para
ejecutarse.
La transacción 4 ocurre cuando acontece el suceso externo que un 

Comentarios

Entradas más populares de este blog

1.6 Núcleo

5.5 Mecanismos de acceso a los archivos

2.6 Técnicas de administración del planificador