domingo, 8 de noviembre de 2015

2.2 ESTADOS Y TRANSICIONES DE PROCESOS:

Estados de procesos
El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados discretos. Estos estados son se muestran en el siguiente diagrama:

Un proceso puede estar en cualquiera de los siguientes estados.
A continuación se describe cada uno de estos procesos.
Estado
Descripción
Nuevo
Se dice que un proceso está en estado de nuevo cuando apenas se encuentra en proceso de crearse.
Listo
Un proceso está en estado de listo, cuando podría usar una CPU, si hubiera una disponible.
En ejecución
Se dice que un proceso está estado de ejecución, si en ese momento tiene está ocupando la CPU.
Bloqueado
Se dice que un proceso está en estado de bloqueado, si espera que ocurra algo, como por ejemplo, la terminación de una E/S, para así poder ponerse en marcha.
Terminado
Cuando un proceso se ha completado su ejecución pasa a ser un proceso terminado.
Los estados de los procesos se pueden dividir en dos tipos:
1.- 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.
  • Bloqueado: Son los procesos que no pueden ejecutarse de momento por necesitar algún recurso no disponible (generalmente recursos de E/S). 
2.- 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. 
Pueden ser 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 ha sido suspendido, pero no tiene causa parta estar bloqueado.
Transiciones de estados
Cuando un trabajo es admitido se crea un proceso equivalente, y es insertado en la última parte de la cola de listos. Cuando un proceso pasa de un estado a otro se dice que hace una transición de estado, estas transiciones se describen a continuación.
Transición
Descripción
Admitido(Proceso):
Nuevo-Listo
Cuando un proceso se ha creado y se le es permito para competir por la CPU.
Despacho(Proceso):
Listo-En ejecución
La asignación de la CPU al primer proceso de la lista de listos es llamado despacho y es ejecutado por la entidad de sistema llamada despachador. Mientras que el proceso tenga la CPU se dice que está en ejecución.
Tiempo excedido(Proceso):
En ejecución-Listo
Cuando a un proceso se le expira el intervalo de tiempo asignado para estar en ejecución (CUANTO), hace que este proceso que se hallaba en estado de ejecución pase al estado de listo e inmediatamente el despachador hace que el primer proceso de la lista pase a estado de ejecución.
Bloqueo(Proceso):En ejecución Bloqueado
Si un proceso que se encuentra en estado de ejecución inicia una operación de E/s antes que termine su cuanto, el proceso voluntariamente abandona la CPU, es decir, el proceso se bloquea a sí mismo.
Despertar(Proceso):
Bloqueo-Listo
La única transición posible en nuestro modelo básico ocurre cuando acaba una operación de E/S (o alguna otra causa por la que esté esperando el proceso), y esta termina pasa al estado de listo.
Salir(Proceso):
En ejecución-Terminado
Esta transición ocurre cuando el proceso se ha terminado de ejecutarse, y pasa a un estado de terminado.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.