un proceso es una unidad de actividad que se caracteriza por la ejecución de una secuencia de
instrucciones, un estado actual, y un conjunto de recursos del sistema asociados.
Contador de programa
es un registro del procesador de un computador que indica la
posición donde está el procesador en su secuencia de instrucciones.
Estados de los procesos
Todo proceso en un sistema operativo presenta un estado que indica la situación de la ejecución en
que se encuentra. El número de posibles estados varía de un sistema operativo a otro, Consideramos
que todo proceso puede estar, como mínimo, en uno de los siguientes tres estados:
Activo: el proceso está empleando la
CPU, por tanto, está ejecutándose.
Puede haber tantos procesos activos
como procesadores haya
disponibles. 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 que le ha hecho bloquear, 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. El dispositivo/hecho
externo "avisa" al S.O. cuando ha terminado la
acción que realizaba mediante una
INTERRUPCIÓN, dejando el S.O. lo que está
haciendo para atender a esta última. Tras esto, el
S.O. comprueba cuales son los procesos que fueron
bloqueados por ese evento externo, cambiándolos
al estado de preparado.
Hilos
es una línea de ejecución de un
proceso. Todo proceso parte
inicialmente con un único hilo
principal, aunque el sistema operativo
ofrece llamadas al sistema que
permiten al programador crear y
destruir hilos. Por tanto, un proceso
está compuesto por uno o más hilos.