GESTIÓN DE PROCESOS

Un proceso es un programa en ejecución. No confundir procesos con archivos o programas (en disco). Cuando el proceso habilita una función del sistema se llama servicio. Los servicios se ejecutan en segundo plano.

Cada proceso se compone de un código que se ejecuta y una estructura de datos (PCB, Process Control Block), estando ambos cargados en memoria.

La estructura de datos sirve para identificar unívocamente cada proceso y controlar todos los aspectos de su ejecución.

Cada estructura contiene básicamente los siguientes datos:

ESTADOS DE UN PROCESO

image.png

Un proceso puede encontrarse en uno de estos 3 estados básicos posibles:

Hay que tener en cuenta que en cada sistema operativo, los procesos los lanzan normalmente otros procesos. Es decir, que cada proceso que se lanza a ejecución depende, en la mayoría de los casos, de otro proceso denominado proceso padre. Así, al nuevo proceso lanzado se le denomina proceso hijo.

TRANSICIONES DE LOS ESTADOS DE UN PROCESO

image.png

Primero se crea el proceso, se carga el programa en memoria y pasa a estar preparado o listo.

De preparado pasa a ejecución cuando se asigna tiempo de CPU a ese proceso.

De ejecución pasa a estado preparado cuando se le acaba el tiempo de ejecución y la CPU va a pasar a ejecutar otro proceso.

De ejecución pasa a estado bloqueado cuando necesita algún elemento (señal, dato,…) que no tiene asignado.

De bloqueado pasa a preparado cuando acabó la señal, el dato o la operación E/S por la que estaba esperando

Cuando un proceso está mucho tiempo en memoria en estado preparado o bloqueado porque le falta un recurso y no se va a usar próximamente, puede pasar a estado suspendido, transfiriendo la información del proceso al disco. Cuando sale de este estado de suspensión vuelve a estado preparado.

Cuando un proceso está ejecutándose y termina de ejecutar todas las instrucciones que lo forman pasa a finalizado y se borra de memoria.

PLANIFICACIÓN DE PROCESOS

Esto lo podemos ver más en detalle en la siguiente página Planificación de procesos

Planificación de procesos