Está en la página 1de 7

Gestión de Procesos

Gestión de procesos

Un proceso es un programa en
ejecución, incluyendo el valor actual
del program counter (PC), registros
y variables. 
Un programa es pasivo (es sólo
código o texto) y un proceso es
activo y dinámico (varía en el
tiempo).

Analogía: Preparar una receta de


una torta. El programa es la receta,
el proceso es la actividad que
consiste en leer la receta, mezclar
los ingredientes y hornear la torta.

Varios procesos pueden estar


ejecutando el mismo programa, por
ejemplo, si dos o más usuarios
están usando simultáneamente el
mismo editor editor de texto. El
programa es el mismo, pero cada
usuario tiene un proceso distinto (y
con distintos datos).
Conceptualmente cada proceso
tiene su propia CPU virtual. En la
práctica, hay una sola CPU real,
que cambia periódicamente la
ejecución de un proceso a otro.
El sistema operativo es responsable
de las siguientes actividades con
relación a la administración de
procesos:

 La creación y eliminación de
procesos tanto del usuario
como del Sistema Operativo
 La planificación de los
procesos.
 La provisión de mecanismos
para sincronización,
comunicación y manejo de
bloqueos mutuos.

Aunque tradicionalmente un
proceso contenía un solo hilo de
control mientras se ejecutaba, la
mayoría de los sistemas operativos
modernos ahora dan soporte a
procesos que tienen varios Hilos.

Así un sistema de cómputo consiste


en una colección de procesos que
se ejecutan en la misma máquina
de manera concurrente
multiplexando (dividiéndose) el
tiempo del procesador ya sean
procesos del sistema operativo o
procesos de usuario.

Estados de un proceso

A medida que se ejecuta un


proceso, cambia su estado. El
estado de un proceso se define en
parte por la actividad actual de
dicho proceso. Cada proceso puede
estar en alguno de los siguientes
estados:

Nuevo: El proceso se está creando.


Ejecución: Se están ejecutando
instrucciones.
En espera: El proceso está
esperando a que ocurra algún
evento (Como la terminación de una
operación de entrada o salida, o la
recepción de una señal.
Listo: El proceso está en espera de
ser asignado a un procesador.
Terminado: El proceso ha
terminado su ejecución.

Bloque de Control del Proceso

Cada proceso se representa en el


sistema operativo mediante un
bloque de control del proceso
(Process Control Block PCB)
también denominado bloque de
control de tarea.

Un proceso es un objeto con


operaciones y atributos: (datos).
Este bloque representa la parte de
los datos del proceso. Estos datos
se almacenan dentro de la siguiente
estructura:

 Estado (ejecutando, listo,


bloqueado)
 Program counter
 Registros de CPU
 Información para planificación
(p.ej., prioridad)
 Información para
administración de memoria
(p.ej., registros base y límite)
 Información de I/O:
dispositivos y recursos
asignados al proceso, archivos
abiertos, etc.
 Estadísticas y otros: tiempo
real y tiempo de CPU usado,
identificador del proceso,
identificador del dueño, etc.

Creación de Procesos

Un proceso puede crear varios


procesos nuevos, a través de una
llamada al sistema para la creación
de procesos, durante el curso de la
ejecución. El proceso creador se
denomina proceso padre, en tanto
que los nuevos son sus hijos. Cada
uno de estos nuevos procesos a su
vez pueden crear otros, formando
así un arbol de procesos.

Cuando un proceso se crea como


nuevo existen dos posibilidades en
términos de ejecución:

1. El padre continúa
ejecutándose de manera
concurrente con sus hijos.
2. El padre espera hasta que
alguno de sus hijos haya
terminado.

Terminación de un Proceso

Un proceso concluye cuando


termina de ejecutar su sentencia
final, y le pide al sistema operativo
que lo borre usando la llamada exit.
En dicho punto el proceso puede
regresar datos de salida a su padre.
Todos los recursos del proceso
incluyendo memoria y buffers, son
liberados por el sistema operativo.
Existen circunstancias adicionales
en las que ocurre terminación. Un
proceso puede ocasionar la
terminación de otro, mediante la
llamada apropiada al sistema del
evento abort. Esta llamada solo se
permite de procesos padre a hijos.

Un padre puede terminar la


ejecución de uno de sus hijos por
varias razones:

 El hijo ha excedido el uso de


alguno de los recursos que
tiene asignados.
 Ya no se requiere la tarea
asignada al hijo.
 El padre está saliendo y el
sistema no permite que un hijo
continúe si su padre termina.

También podría gustarte