Un proceso puede estar en cualquiera de los siguientes tres estados:
Listo, En ejecución y Bloqueado.
Los
procesos en el estado listo son los que pueden pasar a estado de ejecución si
el planificador los selecciona.
Los procesos en el estado ejecución son los que
se están ejecutando en el procesador en ese momento dado.
Los procesos que se
encuentran en estado bloqueado están esperando la respuesta de algún otro
proceso para poder continuar con su ejecución. Por ejemplo operación de E/S.
Un proceso puede variar entre 5 distintos estados:
- New: cuando el proceso esta siendo creado.
- Running: cuando el proceso se esta ejecutando.
- Waiting: cuando el proceso esta esperando que se cumpla algún otro evento.
- Ready: cuando el proceso esta pronto para ejecutar, esperando por la CPU.
- Terminated: cuando el proceso esta terminado.
Los bloques de control de los procesos se almacenan en
colas, cada una de las cuales representa un estado particular de los procesos,
existiendo en cada bloque, entre otras informaciones. Los estados de los
procesos son internos del sistema operativo y transparentes al usuario.
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).
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.
Estados de los procesos
- •Nuevo: El proceso es creado.
- •Ejecución: Se ejecutan instrucciónes.
- •Espera: El proceso esta en espera por la ocurrencia de algún evento.
- •Listo: El proceso esta esperando a que le asignen el procesador.
- •Terminado: El proceso finaliza su ejecución.
- •Diagrama de estados de los procesos.
- •Estado del proceso
- •Program counter
- •Registros del CPU
- •Información de planificación del CPU
- •Memoria
- •Información para administración
- •Información de estatus de E/S
Transiciones
1.
El proceso se bloquea en la entrada.
2.
El planificador elige otro proceso.
3.
El planificador elige este proceso.
4.
La entrada se vuelve disponible.
Estados:
1. Ejecución (que en realidad
hace uso del CPU en ese instante).
2. Bloqueado (incapaz de correr
hasta que suceda algún evento externo.
3. Listo (ejecutable; se detiene temporalmente para
permitir que se ejecute otro
proceso).
En estos tres estados son
posibles cuatro transiciones:
1.Ocurre
cuando un proceso descubre que no puede continuar. En algún sistema el proceso
debe ejecutar una llamada al sistema, BLOCK, para entrar en estado bloqueado.
2 y 3. Son ocasionadas por el
planificador del proceso, que es parte del sistema operativo sin que el proceso
llegue a saber de ella.
2. Ocurre cuando el planificador decide que el proceso
en ejecución ya ha corrido el tiempo suficiente y es tiempo de permitir que
otro proceso tome tiempo de CPU.
3. Ocurre
cuando todos los procesos han utilizado su parte del tiempo y es hora de que el
primer proceso vuelva a correr.
4. Ocurre
cuando aparece el evento externo que estaba esperando un proceso (como el
arribo de alguna entrada). Si ningún otro proceso corre en ese instante, la
transición 3 se activará de inmediato y el proceso iniciara su
ejecución, de lo contrario tendrá que esperar, en estado listo.
Los
estados de los procesos se pueden dividir en dos tipos: activos e inactivos.
* Estados
activos.
Son
aquellos que compiten por el procesador o están en
condiciones de hacerlo.
Estados de un proceso y
sus transiciones.
. 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 proceso.
. Listo. Aquellos procesos que están dispuestos
para ser ejecutados, pero no están en ejecución por alguna causa
(interrupción, haber entrado, en la cola estando otro proceso en ejecución,
etc.
. Bloqueados. Son los procesos que no pueden ejecutarse de
momento por necesitar algún recurso no disponible (generalmente recursos de
E/S).
* Estados inactivos.
Son
aquellos que no pueden competir por el procesador, pero que puedan volver a
hacerlo por medio de ciertas operaciones. En estos estados se mantiene el
bloque de control de proceso suspendido hasta que vuelva a ser activado.
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 preparado.
Es el proceso que ha sido suspendido, pero no tiene
causa para estar bloqueado.
No hay comentarios:
Publicar un comentario