2. GESTIÓN DE PROCESOS
ELEMENTOS DE UN PROCESO
Un proceso está formado por:
Un programa ejecutable
Datos
Contexto de ejecución
Registros de CPU
Otra información
3. GESTIÓN DE PROCESOS
CREACIÓN Y TERMINACIÓN
DE LOS PROCESOS
La creación de un proceso consta de dos
etapas:
Creación de estructuras de control
Asignación de espacio de memoria
4. GESTIÓN DE PROCESOS
CREACIÓN Y TERMINACIÓN
DE LOS PROCESOS
La terminación de un proceso consta de dos
etapas:
Liberación del espacio de memoria
Destrucción de la estructura
5. GESTIÓN DE PROCESOS
CREACIÓN Y TERMINACIÓN DE
LOS PROCESOS
Causas para la terminación de un proceso:
Debido a errores
Por petición del proceso padre
Intento de acceso a una zona de memoria sin tener
permiso
Por que finaliza su ejecución
Intento de acceso a un recurso sin derecho o de forma
indebida
Intento de realizar una operación aritmética no
permitida
6. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
El sistema Operativo ve al proceso como una
unidad que se va ejecutando y evolucionando
entre distintos estados.
El estado global de Sistema está constituido por el
estado en que se encuentran todos los procesos y
recursos del sistema
7. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
Modelo de dos estados.
Es el más simple, posee dos estados.
Ejecución y
No ejecución
8. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
Modelo de cinco estados.
Nuevo
Ejecución
Listo
Bloqueado
Terminado
9. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
Modelo de cinco estados.
Nuevo. El proceso acaba de ser creado,
pero aún no se le ha asignado memoria.
Todavía no ha sido admitido por el
sistema.
10. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
Modelo de cinco estados.
Ejecución. El proceso tiene el dominio
de la CPU en ese momento y se está
ejecutando.
11. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
Modelo de cinco estados.
Listo. El proceso se está
preparando y en disposición de usar
la CPU, si hubiere una libre.
12. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
Modelo de cinco estados.
Bloqueado. El proceso está a la
espera de que ocurra algún evento.
13. GESTIÓN DE PROCESOS
ESTADOS DE LOS
PROCESOS
Modelo de cinco estados.
Terminado. El proceso ha terminado
su ejecución y liberado la memoria, pero
aún no se han destruido sus estructuras
de datos.
14. GESTIÓN DE PROCESOS
TRANSICIONES DE ESTADOS DE
LOS PROCESOS
Un proceso cambia de estado a lo largo de su vida.
Despacho: Listo - Ejecución
Tiempo excedido: Ejecución - Listo
Bloqueo: Ejecución - Bloqueado
Despertar: Bloqueado - Listo
La única transición iniciada por el propio proceso es la de bloqueo.
Este modelo puede ser completado con un estado de suspendido.
15. GESTIÓN DE PROCESOS
ESTRUCTURAS DE CONTROL
El sistema Operativo necesita una serie de
estructuras de datos que le permitan controlar el
estado de los procesos y de los recursos, como:
Tablas de memoria
Tablas de E/S
Tablas de archivos
Tablas de procesos
16. GESTIÓN DE PROCESOS
IMAGEN DE UN PROCESO
Físicamente un proceso requiere cargar en memoria:
Un código. Programa que va a ser ejecutado
Unos datos. Datos del usuario requeridos para la
ejecución del programa.
Una pila. Pila del usuario y pila del sistema utilizada
para llamadas a procesos y al sistema.
Unos atributos. Bloques de control de los procesos,
formados por la información requerida por el sistema
para controlar los procesos.
17. GESTIÓN DE PROCESOS
BLOQUES DE CONTROL DE LOS
PROCESOS
La estructura de datos que contiene la información a
cerca de un proceso se denomina Bloque de Control
de Procesos – BCP -.
Un BCP es la representación de un proceso durante su
ejecución.
Un BCP se crea cuando se crea su proceso asociado.
Los BCP son accedidos y mantenidos por rutinas del Sistema
Operativo.
18. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
Identificación de los procesos.
Información del estado de los procesos.
Información de control de los procesos.
19. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
Identificación de los procesos.
Identificación única del proceso.
Identificación del proceso padre.
Identificación del usuario.
20. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
Información del estado de los procesos.
Registros de control y estado
Registros visibles al usuario
Punteros de pila
21. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
Información de control de los procesos.
Información sobre planificación y estado
Información útil para la planificación de la
CPU: prioridad del proceso, punteros a colas, cantidad de tiempo
en espera, en ejecución ,etc.
Eventos pendientes
22. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
Información de control de los procesos.
Gestión de memoria
Límite superior e inferior de memoria
asignada
Lista de bloques asignados
23. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
Información de control de los procesos.
Apuntador a la tabla de segmentos o de
página
Información de contabilidad: Tiempo de CPU y
tiempo real
24. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
Información de control de los procesos.
Información del estado de los dispositivos y
operaciones de E/S: lista de dispositivos asignados,
archivos.
Apuntadores para asignar recursos
Comunicación entre procesos
25. GESTIÓN DE PROCESOS
ELEMENTOS DEL BLOQUE DE
CONTROL DE PROCESOS
El BCP permite al sistema Operativo localizar
toda la información clave sobre los procesos.
El conjunto de BCP forman las tablas de procesos.
El id del proceso se usa como índice en las tablas
de los procesos.
26. GESTIÓN DE PROCESOS
CREACIÓN DE UN PROCESO.
Cuando se crea un proceso, el Sistema Operativo
realiza los siguientes pasos:
Asigna un identificador único al proceso. Se crea
el BCP, pero sólo se llena el campo del
identificador.
Asigna memoria al proceso.
Inicializa el BCP.
27. GESTIÓN DE PROCESOS
CREACIÓN DE UN PROCESO.
Cuando se crea un proceso, el Sistema Operativo
realiza los siguientes pasos:
Insertar el proceso en la lista de procesos que
corresponda. Por ejemplo en la lista de procesos
listos.
Otras operaciones, como actualizar las
estructuras de control que mantenga el Sistema
Operativo.
28. GESTIÓN DE PROCESOS
CREACIÓN DE UN PROCESO.
Un proceso puede ser creado por:
Un usuario que lo solicita
El Sistema Operativo
Otro proceso
29. GESTIÓN DE PROCESOS
INTERRUPCIÓN DE UN
PROCESO.
MECANISMO CAUSA USO
Interrupción
Externa a la
ejecución de la
instrucción actual
Reacción a un
evento externo
asíncrono
Trampa
Excepciones
Asociado con la
ejecución de la
instrucción actual
Manejo de errores o
de condiciones de
excepciones
Petición de un servicio
-Llamadas al sistema -
Petición explícita
Llamada a una
función del Sistema
Operativo
30. GESTIÓN DE PROCESOS
TERMINACIÓN DE UN PROCESO.
Para terminar – destruir - un proceso:
Se devuelven sus recursos al sistema
Se borran las listas y tablas del sistema
Se borra su BCP
31. GESTIÓN DE PROCESOS
TERMINACIÓN DE UN PROCESO.
Un proceso puede ser destruido por:
Completar su ejecución
Exceder el límite de tiempo asignado al
proceso
No disponer de la memoria que el proceso
solicita.
32. GESTIÓN DE PROCESOS
TERMINACIÓN DE UN PROCESO.
Un proceso puede ser destruido por:
Violación de protección de memoria
Error de protección al intentar acceder a un
recurso no asignado
Error aritmético
33. GESTIÓN DE PROCESOS
TERMINACIÓN DE UN PROCESO.
Un proceso puede ser destruido por:
Instrucción inválida
Fallo de E/S
Intervención del usuario o del Sistema
Operativo
34. GESTIÓN DE PROCESOS
SUSPENDER/REANUDAR UN PROCESO.
Suspender un proceso
consiste en detener un
proceso, esté en el
estado que esté.
El proceso puede salir
o no de memoria.
35. GESTIÓN DE PROCESOS
CARACTERÍSTICAS DE UN
PROCESO SUSPENDIDO
El proceso que está suspendido, no está
inmediatamente disponible para su
ejecución.
La condición de bloqueado, es
independiente de la suspendido.
36. GESTIÓN DE PROCESOS
CARACTERÍSTICAS DE UN
PROCESO SUSPENDIDO
El proceso puede ser situado en estado
se suspendido, por el mismo, el proceso
padre, el Sistema Operativo o el usuario.
Un proceso sólo puede salir del estado
de suspendido, si se le aplica una orden
externa. El propio proceso no puede
reanudarse.
37. GESTIÓN DE PROCESOS
HILOS DE EJECUCIÓN –
THREADS -
Unidad propietaria de recursos
Unidad de ejecución o despacho
Partes de un proceso:
38. GESTIÓN DE PROCESOS
HILOS DE EJECUCIÓN –
THREADS -
En los procesos tradicionales existe un solo espacio de
direcciones y un solo hilo de ejecución. Procesos Pesados.
Hay situaciones en que es deseable tener más de un hilo
de ejecución, que compartan un único espacio de
direcciones, pero que se puedan ejecutar de modo más o
menos simultáneo. A estos flujos de control se les
denomina hebras o hileras de ejecución. Procesos ligeros.
39. GESTIÓN DE PROCESOS
HILOS DE EJECUCIÓN –
THREADS -
Las hebras son como mini-procesos.
Ventajas:
Cuando una hebra se bloquea, puede ejecutarse otra hebra del
mismo proceso.
Es menos costoso crear/terminar una hebra que un proceso.
Es monos costoso intercambiar dos hebras que dos procesos.
La comunicación entre hebras dentro de una misma tarea no
requiere la intervención del núcleo del sistema.
Cada hebra se puede estar ejecutando en un procesador
simultáneamente.
40. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
La multiprogramación produce un aumento de la utilización de la CPU y
una mayor productividad del sistema.
La planificación permite el manejo de colas para minimizar el tiempo de
retraso en la colas y aumentar el rendimiento del sistema.
La planificación de la CPU es necesaria en los sistemas
multiprogramados debido a que el número de procesos que se requiere
ejecutar supera el número de procesadores existentes en el sistema.
Planificador de Procesos
41. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Planificador a largo plazo.
Planificador a mediano plazo
Planificador a corto plazo
Niveles de Planificación
del Procesador
42. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Planificador a largo plazo.
Niveles de Planificación del Procesador
Decide cuando se termina/comienza un proceso.
Determina que trabajo se admite en el sistema para
su procesamiento. Decide cuántos trabajos acepta y
qué trabajos.
43. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Planificador a largo plazo.
Niveles de Planificación del Procesador
Decide cuando se termina/comienza un proceso.
Controla el grado de multiprogramación del
sistema.
44. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Planificador a largo plazo.
Niveles de Planificación del Procesador
Determina que trabajo se admite en el sistema para su
procesamiento. Decide cuántos trabajos acepta y qué trabajos.
Puede basarse en diferentes criterios:
Prioridad. Puede elegir entre los orientados a E/S y los orientados
a CPU.
FIFO. Primero en entrar – Primero en salir.
45. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Planificador a corto plazo.
Niveles de Planificación del Procesador
El próximo proceso a ejecutarse se selecciona entre los
trabajos que están en la cola de listos. Se ejecuta cada
vez que ocurre un evento que puede causar un cambio
de proceso, como:
Interrupción de reloj
Interrupción de E/S
Llamadas al sistema
Señales
46. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Planificador a corto plazo.
Niveles de Planificación del Procesador
Posee un módulo despachador que se encarga de:
Cambiar de procesos
Cambiar de modo: kernel/usuario
Seleccionar la instrucción que va a ejecutarse
Al tiempo que tarde en realizar estas operaciones se le denomina
latencia de despacho
47. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Características del Planificador a corto plazo
Criterios para implementar un planificador a
corto plazo:
Criterios orientados al usuario
Criterios orientados al sistema
48. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Características del Planificador a corto plazo
Criterios orientados al usuario – Relacionados
con el rendimiento.
Tiempo de Respuesta: tiempo que transcurre desde
que se envía un trabajo al sistema hasta que se empieza
a atender – Sistemas Interactivos – o tiempo que
transcurre desde que el proceso entra en la cola de
listos hasta obtener la primera atención de la CPU.
49. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Características del Planificador a corto plazo
Criterios orientados al usuario – Relacionados
con el rendimiento.
Tiempo de Retorno: tiempo total que emplea el
proceso desde que entra en el sistema hasta que
termina su ejecución – sistemas bach -
50. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Características del Planificador a corto plazo
Criterios orientados al sistema – Relacionados
con el rendimiento.
Rendimiento: El número de trabajos que se ejecuta
por unidad de tiempo – Throutput – debe ser el máximo
posible.
Utilización del Procesador: porcentaje de tiempo
que el procesador está ocupado
51. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Características del Planificador a corto plazo
Criterios orientados al sistema – Relacionados
con el rendimiento.
Equidad: en ausencia de criterios externos, todos los
procesos deberían ser tratados de igual forma.
Prioridades: el algoritmo debe favorecer a los
procesos con mayor prioridad
52. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Elementos del Planificador a corto plazo
Debe contener los siguientes aspectos:
Un modo de decisión
Una función de selección
Una regla de arbitraje.
53. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Elementos del Planificador a corto plazo
Modo de decisión
Indica en que instante en el tiempo se
aplica la función de selección.
Las necesidades del planificador deben
efectuarse en una de las cinco
circunstancias siguientes:
54. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Elementos del Planificador a corto plazo
Modo de decisión
1. Cuando un proceso cambia del estado de ejecución
al estado de bloqueado.
2. Cuando un proceso cambia del estado de ejecución
al estado de listo.
3. Cuando un proceso cambia del estado de bloqueado
al estado de listo
4. Cuando llega un proceso nuevo. Del estado de
nuevo al estado listo
5. Cuando termina un proceso
55. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Elementos del Planificador a corto plazo
Modo de decisión
Cuando la planificación tiene lugar únicamente
en las situaciones 1º y 5º, decimos que el
esquema de planificación es no apropiativa.
Solo pierde el control del proceso cuando se
bloquea por una operación de E/S o porque ha
terminado.
56. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Elementos del Planificador a corto plazo
Planificación apropiativa
El proceso que se está ejecutando puede ser
interrumpido en cualquier momento y movido a
la cola de listos, antes de completar su
ejecución
57. GESTIÓN DE PROCESOS
PLANIFICACIÓN DE LA CPU
Elementos del Planificador a corto plazo
Planificación no apropiativa
Una vez asignada la CPU a un proceso, no se le
puede retirar hasta que la libera, ya sea por que
termina la ejecución o por que cambia a un
estado de espera – se auto bloquea -
58. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
Primero en llegar primero en salir – FIFO -
Los procesos acceden a la CPU en el mismo
orden de llegada.
Es no apropiativo. No es útil en sistemas
interactivos, al no garantizar buenos tiempos de
respuesta; los procesos largos hacen esperar a
los procesos cortos.
59. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
El trabajo más corto primero.
Se le asigna la CPU al proceso que tenga un tiempo
estimado de ejecución más corto, los procesos cortos
pasan a la cabeza de la cola de listos.
Reduce el tiempo de espera. Favorece a los procesos
cortos frente a los más largos. No es apropiado para
tiempo compartido por ser no apropiativo.
Es difícil calcular cuanto tiempo va a durar cada proceso.
60. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
El tiempo restante más corto.
El siguiente proceso en ser ejecutado es el de tiempo
estimado de ejecución menor para llegar a su terminación.
Es una variante apropiativa del anterior. Los procesos
cortos de ejecutan casi que inmediatamente y los largos
tienen un mayor retardo.
61. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
Prioridades.
Consiste en asignarle a cada proceso una
prioridad. Las prioridades pueden determinarse
internamente por el sistema y externamente por el
usuario.
62. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
Prioridades.
Las prioridades pueden ser:
Estáticas: una vez que se le asigna una al
proceso, esta no cambia.
Dinámicas: las prioridades cambian, adaptándose
al ambiente.
63. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
Prioridades.
El mayor problema de las prioridades es la
inanición.
Una solución es la técnica del envejecimiento que
consiste en que cada cierto periodo de tiempo de
espera, se le aumenta la prioridad al proceso.
64. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
Asignación en rueda – Round Robin -
Se denomina una pequeña unidad de tiempo
denominada quantum. A cada proceso se le
asigna un quantum de tiempo. Si el proceso no
termina en ese tiempo, el control de la CPU pasa
al siguiente proceso de la cola.
65. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
Asignación en rueda – Round Robin -
La cola de procesos en estado de listo se organiza según
un esquema FIFO.
Es un sistema con modo de decisión apropiativo basado
en el reloj.
Es apropiativo para sistemas de tiempo compartido. El
problema es determinar el tamaño del quantum.
66. GESTIÓN DE PROCESOS
ALGORITMOS DE PLANIFICACIÓN
Razón de Respuesta más alta.
Se selecciona el proceso de la cola que tenga un valor de
RR más alto. Es apropiativo.
RR = Tw + Ts Tw = Tiempo de espera estimado
Ts Ts = Tiempo de servicio estimado