2. un proceso puede pasar por una serie de estados
discretos, algunos de ellos son:
Activo, Preparado, Bloqueado o suspendido, Nonato
y Muerto.
El estado activo es la que está ejecutándose en un
instante dado. En el caso de sistemas con un único
procesador, sólo puede haber una tarea en dicho
estado en cada instante.
En el estado de preparado, se encuentran todas las
tareas que están listas para ejecutarse pero que
esperan a que un/el procesador quede libre(hay
otros procesos más prioritarios en ejecución).
3. Las tareas que están a la espera de que se cumpla una
condición y que por lo tanto, no están preparadas para
ejecutase, se dice que están en el estado bloqueado o
suspendido; alguno ejemplos de condición son: que
se termine una operación de E/S o que se reciba una
señal de sincronización.
Un proceso esta muerto cuando ha terminado su
ejecución o bien el sistema operativo a detectado un
error fatal y lo ha transferido a dicho estado. También
es posible que haya entrado él como resultado de un
fallo del propio sistema operativo(cuestión que
desgraciadamente suele ocurrir frecuentemente en
algunos OS.
4. El estado de nonato indica que el programa realmente
existe pero todavía no es conocido por el OS.
5. De ejecución á Bloqueado, De ejecución á Listo, De
Listo á en ejecución, De Bloqueado á Listo.
De ejecución á Bloqueado: al iniciar una operación de
E/S, al realizar una operación WAIT sobre un semáforo
a cero (en el tema de procesos concurrentes se
estudiarán los semáforos).
De ejecución á Listo: por ejemplo, en un sistema de
tiempo compartido, cuando el proceso que ocupa la
CPU lleva demasiado tiempo ejecutándose
continuamente (agota su cuanto) el sistema operativo
decide que otro proceso ocupe la CPU, pasando el
proceso que ocupaba la CPU a estado listo.
6. De Listo á en ejecución: cuando lo requiere el
planificador de la CPU (veremos el planificador de la
CPU en el tema de planificación de procesos).
De Bloqueado á Listo: se dispone del recurso por el que
se había bloqueado el proceso. Por ejemplo, termina la
operación de E/S, o se produce una operación SIGNAL
sobre el semáforo en que se bloqueó el proceso, no
habiendo otros procesos bloqueados en el semáforo.
Obsérvese que de las cuatro transiciones de estado
posibles, la única iniciada por el proceso de usuario es
el bloqueo, las otras tres son iniciadas por entidades
externas al proceso.
8. ejecutando
listo
bloqueado
se construye lo que se denomina Diagrama de Transición de
Estado (DTE). Estar en la cola de Listos significa que el único
recurso que a ese proceso le está haciendo falta es el recurso
procesador. O sea, una vez seleccionado de esta cola pasa al estado
de Ejecución. Se tiene una transición al estado de Bloqueados
cada vez que el proceso pida algún recurso. Una vez que ese
requerimiento ha sido satisfecho, el proceso pasará al estado de
Listo porque ya no necesita otra cosa más que el recurso
procesador.
9. admitir
expedir
salir
ejecuci termina
Nuevo Listo ón do
Espera
Fin de el suceso
tiempo
bloqueado
10. admitir
Nuevo
admitir
salir
expedir
Listo y ejecución terminado
Listo
suspendido
Fin de
Ocurre
activar tiempo Espera
suceso
suceso
Bloqueado y
suspendido bloqueado
suspender
11. Procesos suspendidos Una de las razones para implementar
el estado Bloqueado era poder hacer que los procesos se
puedan mantener esperando algún suceso, por ejemplo una
Entrada/Salida. Sin embargo, al ser mucho más lentas estas
operaciones, puede suceder en nuestro modelo de cinco
estados que todos los procesos en memoria estén esperando en
el estado Bloqueado y que no haya más memoria disponible
para nuevos procesos. Podría conseguirse más
memoria, aunque es probable que esto sólo permita procesos
más grandes y no necesariamente nuevos procesos. Además
hay un costo asociado a la memoria y de cualquier forma es
probable que se llegaría al mismo estado con el tiempo. Otra
solución es el intercambio. El intercambio se lleva a cabo
moviendo una parte de un proceso o un proceso completo
desde la memoria principal al disco, quedando en el
estado Suspendido. Después del intercambio, se puede aceptar
un nuevo proceso o traer a memoria un proceso suspendido