Este documento describe los conceptos fundamentales de los procesos y su administración por parte de los sistemas operativos. Explica que un proceso es una entidad activa que compite por los recursos del sistema, mientras que un programa es pasivo. También describe los diferentes estados por los que puede pasar un proceso, como nuevo, listo, en ejecución, bloqueado y terminado. Finalmente, explica las estructuras de control que usa el sistema operativo para administrar los procesos y recursos, como las tablas de memoria, E/S y procesos
1. GESTION DE PROCESOS
Procesos y tareas
• Uno de los módulos más importantes de un sistema
operativo es la de administrar los procesos y tareas del
sistema de cómputo.
• El sistema realiza varias actividades simultáneamente
que compiten por la utilización de determinados
recursos, entre los que destaca la CPU, estas actividades
se denominan procesos.
2. • Un programa, por si solo, es una entidad pasiva mientras
que un proceso es una entidad activa ya que compite por
los recursos máquina.
• El proceso es una unidad de trabajo del sistema y el
sistema operativo es el responsable de realizar un
seguimiento de todas las actividades del sistema en
conexión con los procesos generados.
3. División implícita y explicita de tareas
• Dependiendo del SO y del entorno objetivo de ejecución
de programas.
• La división de un trabajo en tareas que serán ejecutadas
como procesos independientes así como la asignación
inicial de los atributos de esos procesos pueden ser
efectuadas o bien por el SO o bien por el desarrollador
de la aplicación
4. En otras palabras lo que constituirá un proceso
independiente
• 1._ División implícita de tareas definida por el sistema
• 2._ División explicita de tareas definida por el
desarrollador
5. Tipos de procesos y relación entre
procesos concurrentes
• En principio podemos realizar una clasificación muy
general de los procesos entre procesos de usuario y
procesos de sistema
• Un proceso de usuario es aquel creado por el SO.
• Un proceso de sistema es un proceso que forma parte del
propio SO y que desempeña alguna de sus labores
características
6. El sistema operativo y los procesos
• Todos los SO de multiprogramación están construidos en
torno al concepto de proceso
• Los requerimientos principales que debe cumplir un SO
para con los procesos son los siguientes:
7. • 1._ El SO debe intercalar la ejecución de procesos para
optimizar la utilización del procesador ofreciendo a la vez
un tiempo de respuesta razonable
• 1._ El SO debe asignar los recursos del sistema a los
procesos en conformidad con una política especifica que
evite situaciones de ínter bloqueo
• 1._ El SO podría tener que dar soporte ala comunicación
entre procesos y ofrecer mecanismos para su creación
8. 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.
9. 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.
10. 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 ES.
11. • 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 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.
12. • 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 .
13. • 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.
15. El SO gestiona los recursos disponibles
(memoria, CPU, etc.) entre los procesos que en ese
momento trabajan en el sistema, de tal forma que, para
ellos, el sistema se comporte como si fuera monousuario.
Así que, en un sistema monoprocesador, la CPU se
reparte entre los procesos que se tengan en ese
momento.
16. Modelo de dos estados
• Se trata de la utilización de dos archivos, un objeto
ejecutable y una biblioteca del sistema, que después
se colocan en la imagen del proceso dentro de la
memoria RAM y posteriormente también se dan de
alta dentro de la tabla de procesos, bloqueo de
control del proceso.
EXPEDIR
ENTRAR SALIR
EJECUCION
NO EJECUCION
PAUSAR
17. En ese modelo, un proceso puede estar
ejecutándose o no. Cuando se crea un nuevo
proceso, se pone en estado de No ejecución. En
algún momento el proceso que se está ejecutando
pasará al estado No ejecución y otro proceso se
elegirá de la lista de procesos listos para ejecutar
para ponerlo en estado Ejecución. Es necesario
q el SO pueda seguirle la pista a los
procesos, conociendo su estado y el lugar que
ocupa en memoria, y procesos que no se están
ejecutando deben guardarse en algún tipo de cola
mientras esperan su turno para ejecutar.
18. Modelo de cinco estados
NUEVO TERMINADO
LISTO
ESPERA
EJECUCION
19. El modelo anterior de 2 estados funcionaría
bien con una cola FIFO y planificación por
turno rotatorio para los procesos que no están en
ejecución, si los procesos estuvieran siempre listos para
ejecutar, se deba esperar algún suceso antes de
continuar. Es por esto que se necesita un estado donde
los procesos permanezcan esperando la realización de la
operación de Entrada Salida por parte del Sistema
Operativo hasta que puedan proseguir. Se divide
entonces al estado No ejecución en dos estados: Listo y
Espera. Se agregan además un estado Nuevo y otro
Terminado.
20. Los cinco estados de este diagrama
Nuevo: El proceso recién fue creado y todavía no fue
admitido por el SO . En general los procesos que se
encuentran en este estado
Todavía no fueron cargados en la memoria principal.
Listo: el proceso está listo para ser ejecutado, sólo está
esperando que el planificador de corto plazo así lo disponga.
Ejecución: Se encuentra el proceso que tiene el control del
procesador. Dado que en un instante determinado solo un
proceso puede encontrarse en este estado.
Espera: el proceso no puede ejecutar hasta que no se
produzca cierto suceso, como la finalización de una operación
de E/S solicitada por una llamada al SO .
Terminado: El proceso fue expulsado del grupo de procesos
ejecutables, ya sea porque terminó o por algún fallo, como un
error de protección, aritmético, etc.
21. ESTADOS DE UN PROCESO 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 .
22. 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.
23.
24. PROCESOS SUSPENDIDOS
Debido a que el procesador es
mucho mas rápido que los
dispositivos de E/S puede ocurrir
que en un momento dado todos los
procesos del sistema se encuentran
bloqueados a al espera de que se
complete alguna operación de E/S.
Para solucionar este problema
existe dos opciones:
25. 1. Ampliar la memoria en forma quesea
posible y albergar en ella mas
procesos y incrementar asi la
posibilidad de que alguno de ellos
haga uso efectivo del procesador.
2. La otra solución consiste en ampliar
una técnica conocida como
INTERCAMBIO SHAPING: esta
técnica consiste que en cuando todos
los procesos que se encuentran en
memoria principal están bloqueados.
26. En general se considera suspendido a un proceso que presenta las
características siguientes
1) Un proceso suspendido no esta disponible de
inmediato para su ejecución.
2) Un proceso puede estar esperando o no un suceso. Si
lo esta la condición de bloqueado es independiente de
la condición de suspendido y el acontecimiento del
suceso bloqueante no lo habilita para ejecución.
3) El proceso fue situado en estado en estado
suspendido por un agente (el SO o el proceso padre)
con el fin de impedir la ejecución
4) El proceso no puede apartarse de estado hasta que
llegue la orden exprese para ello.
27. LAS TRANSMISIONES QUE INVOLOGRAN A LOS
NUEVOS ESTADOS SON LOS SIGUENTES:
• Transmisión bloqueado y suspendido preparado y
suspendido:
• Transmisión preparado y suspendido-preparado:
• Transmisión preparado-preparado y suspendido:
• Transmisión bloqueado y suspendido – bloqueado:
• Transmisión ejecución – preparado y suspendido:
28. Entre las razones mas habituales para la suspensión
de procesos podemos podemos citar las siguientes:
1. Intercambio un proceso por otros. El SO nesicita
liberar memoria principal para cargar un proceso
que esta listo para ejecutarse
2. Suspensión de un proceso por el SO por
sospechar que esta causado algún tipo de
problemas.
3. Solicitud expresa del usuario.
4. Un proceso puede ejecutarse periódicamente y
puede ser suspendido mientras espera el intervalo
de tiempo antes de una nueva ejecución.
5. Por una petición del proceso padre.
29. ESTRUCTURA DE
CONTROL DEL SISTEMA
OPERATIVO
El s.o. es el controlador de los sucesos que se
producen en un sistema informático, responsable de
las solicitudes del usuario, administra los procesos y
recursos del sistema, mediante elementos
30. TABLAS DE MEMORIA DE E/S DE
ARCHIVOS Y DE PROCESOS
Si el SO para administrar los procesos y recursos
mantiene tablas de información sobre cada entidad que
esta administrando e incluyen lo siguiente.
1. Asignación de memoria principal y secundaria a los
procesos.
2.Información necesaria para la gestión de la memoria
secundaria.
31. • las tablas de E/S: administra los dispositivos y canales
de E/S puede estar disponible o estar asignado a un
proceso particular.
• tablas de archivos: Sobre su posición y distribución en
la memoria sec
Un ejemplo de estructura para la ubicación de archivos
es la conocida como FAT (File Allocation Table)
la informacion almacenada para cada proceso consiste
en
32. 1. Datos de usuario.
2. Programa de usuario.
3. Pila de sistema.
4. Bloque de control de proceso.
33. BLOQUE DE CONTROL DE
PROCESOS (BCP)
Cada vez que se crea un proceso, el SO crea uno
de estos bloques, Cuando el proceso termina, su
BCP es liberado y devuelto al deposito de celdas
libres del cual se extraen nuevos BCPs.
La información del BCP se agrupa
generalmente en las siguientes categorías
34. 1. IDENTIFICACIÓN DEL PROCESO
a) El identificador del proceso (PID): Consiste en
un número entero asignado por el sistema.
b) El identificador del proceso padre
c) La Identificacion del usuario: Es una cadena de caracteres
2. INFORMACIÓN DEL ESTADO DEL
PROCESADOR
a) Registros visibles para el usuario:
b) Registros de control y estado.
c) Puntero a la pila del proceso:
35. 3. INFORMACIÓN DE CONTROL Y GESTIÓN DEL
PROCESO:
a) Información de planificacion y estado:
b) Estructuración de datos:
c) Comunicación entre procesos:
d) Privilegios de los procesos:
e) Gestión de memoria:
f ) Recursos en propiedad y utilización de los procesos: