El
sistema operativo y los procesos
nTodos
los SO de multiprogramación están construidos entorno al concepto de proceso
nLos
requerimientos principales que debe cumplir
un SO para con los procesos son
los siguientes:
1._ El SO debe intercalar la ejecución de
procesos para optimizar la utilización
de l procesador ofreciendo alavés un tiempo de respuesta razonable
2._ El SO debe asignar los recursos del sistema a los procesos en
conformidad con una política especifica que evite situaciones de ínter bloqueo
3._ El SO podría tener que dar soporte
ala comunicación entre procesos y ofrecer mecanismos para su creación
Creación
y terminación de procesos
El sistema de operación debe crear un
mecanismo para la creación y terminación de procesos.
1._
Creación
de procesos
Cuando un nuevo proceso se agrega el sistema de operación construye las
estructuras de datos que son usadas para administrar los procesos y le asigna
espacio de direcciones. Estas acciones constituyen la creación de un nuevo
proceso.
Los eventos comunes para la
creación de procesos
- En un ambiente batch, un proceso es creado en
respuesta al
sometimiento a ejecución de un trabajo.
- En un ambiente interactivo, un
proceso es creado
cuando un nuevo usuario entra al sistema.
- El sistema de operación puede
crear un proceso
para que realice una función en respuesta a una
petición de un
programa usuario, sin que el usuario
tenga que esperar.
- Creación de procesos hijos por
parte de procesos
usuarios ya existentes el proceso que crea se llama
proceso
padre.
2._ Terminación
de procesos
Un proceso termina cuando ejecuta
su última
instrucción y pide al sistema operativo que lo elimine.
En este
momento, el proceso puede devolver un
valor de estado a su proceso padre.
El sistema operativo libera la
asignación de todos
los recursos del proceso, incluyendo las memorias
física y
virtual, los archivos abiertos y los búferes de
E\S.
La terminación puede producirse también
en otras
circunstancias.
Un proceso puede causar la terminación de
otro
proceso a través de la adecuada llamada al
sistema.
Dicha llamada al sistema al sistema sólo
puede
ser invocada por el padre del proceso que va a
terminar.
En caso contrario, los usuarios podrían
terminar
arbitrariamente los trabajos de otros usuarios.
Adicionalmente, un número de error
o una
condición de fallo puede llevar a la finalización
de un proceso. Las
condiciones mas
habituales son las siguientes:
Finalización normal .
Limite de tiempo excedido.
Memoria no disponible.
Violaciones de frontera .
Error de protección .
Limite de tiempo.
Fallo de E/S.
Instrucción no válida.
Instrucción privilegiada.
Uso inapropiado de datos.
Intervención del operador por el
sistema operativo.
Terminación del proceso padre.
Solicitud del proceso padre.
ESTADOS
DE UN PROSESO DE SISTEMAS
Preparado (R).- Proceso que está listo
para ejecutarse
Ejecutando (O).- Sólo uno de los procesos
preparados se está ejecutando en cada
momento
Suspendido (S).- Se esta suspendido si no
entra en el
reparto de CPU, el proceso pasa
a formar parte del conjunto de procesos
preparados.
PARADO (T).- Será cuando pasarán a
estar preparados cuando reciban una señal
determinada que
les permita continuar.
Zombie (Z).- Todo proceso al finalizar avisa
a su
proceso padre . En vaso de que el
padre no lo reciba, el proceso hijo queda en
estado zombie, no está consumiendo CPU,
pero sí
continua consumiendo recursos del
sistema .
Transiciones
de estado de los procesos
De ejecución á Bloqueado: Se realiza
esta transición cuando cuando queda en espera cuando por la
concesión de sus recursos o por la determinación de un suceso.
De ejecución á Listo: Cuando el
proceso que ocupa la CPU lleva
demasiado tiempo ejecutándose ,el
sistema operativo decide que otro
proceso
ocupe la CPU, pasando el
proceso que ocupaba la CPU a estado
listo.
De Listo á en ejecución: Cuando lo
requiere el planificador de la
CPU.
De Bloqueado á Listo: Se dispone del
recurso por el que se
había bloqueado
el proceso.
De Nuevo a Preparado: Es cuando el
SO acepta o admite un
proceso mas.
De Preparado a Terminado: Ocurre
cuando cuando el proceso padre decide
finalizar la ejecución del hijo.
De Bloqueado a Terminado: Ocurre
cuándo el proceso supere el
tiempo
máximo de espera de un recurso y el
SO decida terminarlo.