2.2 ESTADO 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
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). Puede 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.

Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.
BIBLIOGRAFIA:
https://sites.google.com/site/materiasisoperativo/unidad-2-administrador-del-proceso-y-del-procesador/2-2-estados-y-transiciones-de-los-procesos
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). Puede 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.

Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.
1.- Estados activos
Son aquellos que compiten con el procesador o están en condiciones de hacerlo. Se dividen en:
- Ejecución:Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado sólo lo puede tener un proceso.
- Preparado: Aquellos procesos que están dispuestos para ser ejecutados, pero no están en ejecución por alguna causa (Interrupción, haber entrado en cola estando otro proceso en ejecución, etc.).
- Bloqueado: Son los procesos que no pueden ejecutarse de momento por necesitar algún recurso no disponible (generalmente recursos de entrada/salida).
2.- Estados inactivos
Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio.
Son de dos tipos:
- Suspendido bloqueado: Es el proceso que fue suspendido en espera de un evento, sin que hayan desaparecido las causas de su bloqueo.
- Suspendido programado: Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado.
BIBLIOGRAFIA:
https://sites.google.com/site/materiasisoperativo/unidad-2-administrador-del-proceso-y-del-procesador/2-2-estados-y-transiciones-de-los-procesos
Comentarios
Publicar un comentario