Definición de proceso
Cada vez que se abre un programa informático, se genera un proceso principal. Un programa tiene varias instrucciones, y se ejecuta de forma secuencial, es decir, una instrucción detrás de otra.
Cuando se inicia el programa principal, se inicia el proceso principal que controla el programa hasta que finalice el programa. Para ejecutar cada instrucción se inicia un subproceso, de forma que lo habitual es que un programa tenga varios procesos, también llamados subprocesos o hilos de ejecución.
El proceso se ejecutará y finalizará de forma correcta o por error. Estas ideas nos dejan entrever lo que se llama “estados de los procesos”
Estados de los procesos
Los diferentes estados de un proceso son:
- En ejecución o activo: Proceso activo es el que se ejecuta. En cada núcleo de un procesador, solo puede haber un proceso activo.
- Preparado o espera: Procesos preparados para su ejecución, pero que están a la espera de un procesador libre. (Hay otro proceso en ejecución)
- Bloqueado o suspendido: Las tareas que no pueden ejecutarse, porque necesitan un recurso que está ocupado. Por ejemplo: si hay 2 impresiones, la segunda está bloqueada, hasta que la primera acabe.
- Muerto: Un proceso está muerto cuando su ejecución ha terminado o el sistema operativo ha detectado un error fatal y lo ha transferido a dicho estado. Si se apaga el equipo por falta de alimentación eléctrica, todos los procesos pasan a muertos.
Transición entre estados de los procesos.
Los procesos pasan de unos estados a otros, el encargado de esta función se llama “planificador de procesos”
El planificador de procesos, tiene listas independientes para cada estado, pues se gestiona de forma distinta la lista de procesos preparados de la lista de procesos bloqueados.

Cuando un proceso se crea, y se comprueba si se puede ejecutar, pasa a la lista de procesos preparados, y cuando lo decida el planificador, pasa a estar en ejecución (activo). (Flecha 3 de la figura)
Una vez en ejecución, puede pasar a cualquiera de los otros estados.
De ejecución puede pasar a listo (preparado), porque el planificador decida ejecutar otro proceso. (Flecha 2 de la figura)
De ejecución puede pasar a bloqueado, porque necesita algún dato o está en conflicto con otro proceso. (Flecha 1 de la figura)
Los procesos bloqueados pueden pasar a preparados cuando se ha resuelto el problema. (Flecha 4 de la figura)
Por último, desde todos los estados, el proceso puede pasar a estar muerto. (No aparece en la figura, para no dificultar su comprensión) Cuando se acaba de ejecutar el proceso, se muere. Pero estando bloqueado o preparado, también se puede matar el proceso, debido a errores del Sistema Operativo o bloqueo infinito.
Bloque de control de procesos
El sistema mantiene toda la información sobre un proceso en una tabla llamada bloque de control de procesos. Para cada proceso contiene:
- Identificador único de proceso (pid)
- Estado del proceso (en ejecución, preparado, bloqueado)
- Prioridad
- Dirección de la memoria donde está guardada la información relativa al proceso.
- Información contable: La información necesaria para que el planificador realice su trabajo. Ejemplos de esta información son la hora de inicio del proceso, tiempo de espera, tiempo de ejecución que resta…
En Windows, vemos los procesos con el administrador de tareas, (pulsar Ctrl+Alt+Sup) en la solapa procesos.
En Linux, vemos información de todos los procesos con el comando ps –efl