Estados de los procesos
De Wiki de Sistemas Operativos
Revisión del 01:06 23 feb 2011 de Pneira (discusión | contribuciones) (diagrama de estados simplificado)
Planificador de procesos: Diagrama de estados simplicado
La vida de un proceso pasa por tres estados:
- Activo: el proceso está empleando la CPU, por tanto, está ejecutandose. Pueden haber tantos procesos activos como procesadores haya disponible. Por tanto, si el sistema dispone de un único procesador, únicamente puede haber un proceso activo a la vez.
- Preparado: el proceso no está ejecutándose pero es candidato a pasar a estado activo. Es el planificador el que, en base a un criterio de planificación, decide qué proceso selecciona de la lista de procesos preparados para pasar a estado activo.
- Bloqueado: el proceso está pendiente de un evento externo, tales como una operación de lectura/escritura, la espera de finalización de un proceso hijo, una señal o una operación sobre un semáforo.
|---------------| pendiente | | recibido evento ---------> | bloqueado |----------- evento externo | | | | externo | |---------------| | | | | planificador \/ |--------------| retira CPU |---------------| | | -------------------> | | | activo | | preparado | | | <------------------- | | |--------------| |---------------| planificador asigna CPU
La transición de activo a preparado y viceversa depende de decisiones tomadas por el planificador del sistema operativo (que emplea algún criterio visto en clases teóricas, tales como el turno rotatorio), el programador dispone de mecanismos para interferir en estas decisiones. Mientras que la transición de activo a bloqueado, y de bloqueado a preparado puede inducirlas el programador mediante llamadas al sistema.