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).
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.
Los
PCB se almacenan en colas. Hay dos tipos de colas:
1.
Cola de trabajo:
Contiene los procesos en estado de preparados o listos para ser ejecutados en
cuanto el procesador se desocupe de la tarea que está haciendo en ese momento.
2.
Cola de dispositivos:
Es la cola en la cual se almacenan los procesos que están en espera de algún
dispositivo que está siendo ocupado por otro proceso en ese mismo momento.

Los
estados de los procesos se pueden observar en el diagrama siguiente:
![]() |
|