A medida que un proceso se ejecuta cambia de estado. Cada proceso puede estar en uno de los estados:
Para que un programa se ejecute, el SO debe crear un proceso para él. En un sistema con multiprogramación el procesador ejecuta código de distintos programas que pertenecen a distintos procesos.
Aunque dos procesos estén asociados al mismo programa, se consideran dos secuencias de ejecución separadas, cada una de las cuales se considera un proceso. Llamamos traza de un proceso al listado de la secuencia de instrucciones que se ejecutan para el mismo.