Download - SOMM - U03 - Gestion de procesos
Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
GESTIÓN DE GESTIÓN DE PROCESOSPROCESOS
Unidad 3
Andrés Rosique Hernándezandrosique[email protected]
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 2Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
Esta obra está bajo una licencia ReconocimientoNo comercialCompartir bajo la misma licencia 3.0 España de Creative Commons.
Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/byncsa/3.0/deed.es o envíe una carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Licencia
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 3Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
Índice
1.Procesos y flujos2.Estados de los procesos3.Control de interrupciones4.Planificador y despachador5.Sincronización de procesos6.Algoritmos de planificación
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 4Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
1. Procesos y flujos
● A los procesos, dependiendo del sistema operativo, se les llama también flujos de control.
● Cuando se ejecuta más de un proceso a la vez (concurrentemente), todos necesitan que el sistema les asigne una serie de recursos (CPU, memoria...).
● El sistema operativo se encarga de sincroniza y asignar estos recursos en un orden adecuado y atendiendo a unas prioridades.– Ejemplo: un padre prepara un pastel a su hija, y tiene:
● un libro de recetas y ● los ingredientes: harina, azúcar, huevos, levadura, ralladura
de limón, aceite y leche.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 5Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
1. Procesos y flujos (2)
– El programa es el libro de recetas, el procesador es el padre, los datos son los ingredientes, y el proceso consiste en leer la receta, buscar y obtener los ingredientes y hornear el pastel.
– Mientras está haciendo el pastel, su hija se cae y llora porque se ha caído y se ha hecho daño en la rodilla.
– Entonces el padre anota en el libro donde se quedó (salva el estado del proceso), y se va curar a su hija (otro proceso de mayor prioridad). Aquí el programa sería el libro de primeros auxilios.
– Cuando termina de curarla, sigue con el pastel por el punto donde se quedó.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 6Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
1. Procesos y flujos (3)
● Gráficamente sería así:
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 7Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
1. Procesos y flujos (5)
● Cuando un programa se convierte en un proceso (se ejecuta), además de ubicar en memoria las instrucción y los datos asociados, se le asocia una estructura de datos.
● Esta estructura de datos es única para cada proceso; lo identifica y permite controlarlo.
● La estructura se denomina bloque de control de proceso (PCB, Process Control Block) y para cada proceso contiene toda la información necesaria para poder gestionar el proceso.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 8Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
1. Procesos y flujos (6)
● Bloque de control de proceso (PCB):– Estado actual del proceso: un proceso puede estar en
● Ejecución.● Listo, preparado, en espera o activo.● Bloqueado.
– Identificador del proceso: se conoce como PID y es único para cada proceso. Es como el DNI de un proceso.
– Prioridad del proceso.– Ubicación en memoria.– Recursos utilizados.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 9Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
1. Introducción (6)
Ejercicios.1. ¿Qué es un proceso?
2. ¿Cómo se llama la estructura de datos que tiene cada proceso?
3. ¿Qué información contiene el bloque de control de proceso?
4. ¿Qué es el PID?
5. ¿En qué estados puede estar un proceso?
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 10Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos
● La principal responsabilidad del sistema operativo es controlar la ejecución de los procesos.
● Sin embargo, primero hay que definir un modelo de comportamiento para los procesos.
● El modelo más sencillo es de que tiene 2 estados:– Ejecución.– No ejecución.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 11Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (2)
Modelo de 2 estados● Funcionamiento del modelo de 2 estados:
– Cuando se crea un nuevo proceso, entra en el sistema en estado de “No ejecución”.
– Desde entonces el sistema operativo sabe de su existencia y que está esperando para ser ejecutado.
– En algún momento, el proceso que se estuviera ejecutando es interrumpido y el planificador selecciona un nuevo proceso para que se ejecute.
– Por lo tanto, ● el proceso que se estaba ejecutando pasa a “No ejecución”● y uno de los de “No ejecución” para a “Ejecución”.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 12Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (3)
Modelo de 2 estados– El planificador se podría describir como organizador
de una cola.
– Si todos los procesos estuvieran siempre listos para ejecutarse, este modelo sería eficaz.
● Cola organizada en primero en entrar, primero en salir (FIFO).
● Algoritmo de planificación de turno rotatorio (round robin).
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 13Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (4)
Modelo de 3 estados● El modelo anterior no es bueno porque algunos de
los procesos del estado “No ejecución” no están preparados, están bloqueados esperando que termine una operación de E/S.
● La forma más simple de solucionar esto es dividir el estado de “No ejecución” en dos estados: listo y bloqueado.
● Así tendríamos un modelo de 3 estados:– Ejecución.– Listo.– Bloqueado. E/S = Entrada/Salida.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 14Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (5)
Modelo de 3 estados● Ejecución: proceso actualmente en ejecución. Si
tenemos sólo un procesador, sólo puede haber uno.● Listo: proceso preparado para ejecutarse.● Bloqueado: proceso que no se puede ejecutar hasta
que ocurra un suceso. Por ejemplo: E/S.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 15Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (6)
Modelo de 3 estados● Las transiciones son:
– Listo Ejecución→ : para escoger un nuevo proceso para ejecutar, el S.O. lo selecciona del estado Listo.
– Ejecución Listo→ : ocurre cuando el proceso en ejecución consume el tiempo máximo permitido de ejecución sin interrumpir (round robin) o porque tiene que ejecutarse un proceso de mayor prioridad.
– Ejecución Bloqueado→ : cuando el proceso que se está ejecutando solicita algo por lo que debe esperar. Por ejemplo, un archivo o una operación de E/S.
– Bloqueado Listo→ : cuando ocurre el suceso que estaba esperando, pasa al estado de Listo.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 16Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (7)
Modelo de 5 estados● Sin embargo, es conveniente añadir 2 estados más
al modelo anterior para facilitar la gestión de los procesos.
● Estos estados serían:– Nuevo: proceso recién creado pero no ha sido
admitido por el S.O. No está cargado en memoria principal.
– Terminado: proceso que ha sido expulsado del S.O. porque ha acabado o por alguna otra razón.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 17Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (8)
Modelo de 5 estados
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 18Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (9)
Modelo de 6 estados● Se debe añadir el estado “Suspendido” para hablar
de intercambio a disco.● Cuando no caben más procesos en el estado de
bloqueado, hay que pasarlos a disco.● El intercambio es una operación de E/S y podría
empeorar el sistema en vez de mejorarlo.
Andrés Rosique Hernándezandrosique[email protected]
Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (10)
Modelo de 7 estados● Listo y suspendido: el proceso está en memoria
secundaria pero está disponible para su ejecución en cuanto se cargue en memoria principal
Andrés Rosique Hernándezandrosique[email protected]
Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (11)
● Conceptos:– Cambio de contexto:
● Consiste en la ejecución de una rutina perteneciente al núcleo del S.O., cuyo propósito es parar la ejecución de un proceso para dar paso a la ejecución de otro distinto.
● Cuando un proceso pasa de un estado a otro (Listo →Ejecución), se produce un cambio de contexto.
– Prioridades:● Indican la importancia del proceso y, por lo tanto, la mayor
o menor cantidad de tiempo que el procesador empleará en él sin interrupciones.
● Cada proceso tiene asignada una prioridad por el sistema operativo o por administrador del sistema.
Andrés Rosique Hernándezandrosique[email protected]
Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
2. Estados de los procesos (12)
Ejercicios.1. Completa el siguiente modelo y explica las transiciones.
2. ¿Cuándo se produce un cambio de contexto?
3. ¿Qué son las prioridades?
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 22Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
3. Control de interrupciones
● Para comprender el control de interrupciones partiremos de un ejemplo.
● Supongamos que estamos en un equipo con el sistema operativo cargado y en funcionamiento, y queremos ejecutar otro programa (el Z).
● Hacemos doble clic sobre el icono del programa Z y... ¿qué es lo que ocurre?– Se lanza el cargador.– El cargador es un proceso del propio sistema
operativo.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 23Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
3. Control de interrupciones (2)
● El cargador prepara el programa Z para ser ejecutado.
● La función del cargador es:– Crea el PCB. Se le asigna un identificador (PID), una
prioridad base y todos los recursos menos la CPU.– Se inserta en la tabla de procesos del sistema.– Se carga en memoria virtual.– Se cambia el campo de estado del PCB a preparado.– Se incluye en la cola de procesos listos para hacer
uso de la CPU.El proceso que controla
la cola de procesos se llama planificador.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 24Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
4. Planificador
● El planificador es un componente del sistema operativo.
● El planificador se encarga de asignar los recursos del sistema de manera que se consigan los objetivos de comportamiento esperados.
● Los sistemas operativos disponen generalmente de tres planificadores:
– Planificador a largo plazo.– Planificador a medio plazo.– Planificador a corto plazo.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 25Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
4. Planificador (2)
● El planificador se encarga de decidir qué proceso pasara a estado ejecución de entre todos los procesos que estén en estado preparado.
PROCESO A
PROCESO B
PROCESO C
Ahora le toca al proceso B
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 26Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
4. Planificador (3)
● La elección de un proceso u otro la hace el planificador siguiendo las directrices de un algoritmo.
● El algoritmo se elige atendiendo a aspectos tales como: – La eficacia en el uso del procesador.– El rendimiento o numero de procesos completados
por unidad de medida temporal.– El tiempo de espera de un proceso.– El tiempo de respuesta a un evento.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 27Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
4. Planificador y despachador (4)
Ejercicios.1. ¿Qué es el planificador?
2. ¿Cuál es su misión?
3. ¿Cuántos tipos de planificadores tiene un sistema operativo?
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 28Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
5. Sincronización de procesos
● Sincronización: mecanismo para impedir que existan conflictos entre dos o más procesos cuando se están ejecutando de forma concurrente y acceden a los mismos recursos.
● Mediante la sincronización dos o más procesos concurrentes no podrán utilizar los mismos recursos en el mismo instante de tiempo.
● Por esta razón habrá procesos en ejecución y procesos bloqueados.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 29Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación
● Planificación de procesos: conjunto de mecanismos del sistema operativo que establecen el orden en el que se van a ejecutar los procesos, y permiten cargarlo y descargarlo de la memoria.
● La planificación de procesos podrá ser distinta para cada uno de los planificadores:
– Planificador a largo plazo.– Planificador a medio plazo.– Planificador a corto plazo.
● El objetivo de la planificación es optimizar el comportamiento del sistema.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 30Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (2)
● Algunos de los objetivos que se suelen perseguir:– Reparto equitativo del procesador.– Eficiencia (optimizar el uso del procesador).– Menor tiempo de respuesta en uso interactivo.– Menor tiempo de espera en lotes (batch).– Mayor número de trabajos por unidad de tiempo
(batch).– Cumplir los plazos de ejecución de un sistema de
tiempo real.● Sin embargo, mayoría de estos objetivos son
incompatibles entre sí.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 31Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (2)
● La planificación puede ser con expulsión o sin ella. – Sin expulsión (no apropiativa): un proceso conserva
el procesador mientras no solicite del sistema operativo un servicio que lo bloquee.
● Ventaja: minimiza el tiempo que necesita el S.O. para planificar y activar procesos.
● Inconveniente: un proceso puede monopolizar el procesador (por ejemplo, un bucle infinito).
– Con expulsión (apropiativa): el sistema operativo puede expulsar a un proceso del estado de ejecución aunque éste no lo solicite.
● Ventaja: permite controlar el tiempo que está en ejecución un proceso.● Inconveniente: requiere que el S.O. entre de forma sistemática a
ejecutar para así poder comprobar si el proceso ha superado su límite de tiempo de ejecución.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 32Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (2)
FIFO o FCFS● FIFO (FirstIn, FirstOut) o FCFS (FirstCome, First
Served) es el algoritmo de planificación más simple.● Cuando un proceso está listo para ejecutarse, pasa
a la cola de listos.● Y cuando el proceso que estaba ejecutándose
termina, se selecciona el proceso más antiguo de la cola (el que llegó primero).
● Es decir, el primero que llega es el primero que será atendido. El resto esperarán por orden de llegada en una cola.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 33Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (2)
FIFO o FCFS● Ejemplo:
– T.Espera = (0+1+5+7+10)/5 = 4,6– T.Retorno = (3+7+9+12+12)/5 = 8,6
T. Espera T. Retorno
A 0 3
B 1 7
C 5 9
D 7 12
E 10 12 T. retorno = T. espera + T. servicio
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 34Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (3)
Cíclica o round robin● Diseñado para hacer un reparto equitativo del
tiempo del procesador está especialmente →destinado a los sistemas de tiempo compartido.
● El algoritmo se basa en el concepto de cuanto de tiempo (quantum) o rodaja de tiempo (slot).
● Los procesos están organizados en forma de cola circular, eligiéndose para su ejecución el proceso cabecera de la cola.
● Un proceso permanecerá en ejecución hasta que ocurra una de las dos condiciones siguientes:– El proceso pasa a estado de bloqueado.– El proceso consume su quantum.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 35Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (4)
Cíclica o round robin● Ejemplo:
– T.Espera = (1+10+9+9+5)/5 = 6,8– T.Retorno = (4+16+13+14+7)/5 = 10,8
T. Espera T. Retorno
A 1 4
B 10 16
C 9 13
D 9 14
E 5 7
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 36Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (5)
SPN o SJF● Se selecciona el proceso al que se le supone un
menor tiempo de ejecución.● Los procesos cortos se ejecutan antes que los largos
aunque llegaran después a la cola.● El mayor problema de diseño que plantea es
conocer (estimar) el tiempo que va a necesitar cada proceso.
● A nivel de funcionamiento, se penaliza a los procesos largos que pueden tardar mucho en ejecutarse.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 37Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (5)
SPN o SJF● Ejemplo:
– T.Espera = (0+1+7+9+1)/5 = 3,6– T.Retorno = (3+7+11+14+3)/5 = 7,6
T. Espera T. Retorno
A 0 3
B 1 7
C 7 11
D 9 14
E 1 3
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 38Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (6)
SRT● Consiste en seleccionar en cada momento el
proceso al que le queda menos tiempo de ejecución.● Es una versión con expulsión (apropiativa) del
algoritmo SPN.● Por lo tanto, cuando se añade un proceso a la cola
de Listos, si le queda un tiempo de ejecución menor que el que se está ejecutando, lo saca del sistema para ejecutarse él.
● El problema de nuevo es la estimación del tiempo de ejecución de cada proceso.
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 39Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (6)
SRT● Ejemplo:
– T.Espera = (0+7+0+9+0)/5 = 3,2– T.Retorno = (3+13+4+14+2)/5 = 7,2
T. Espera T. Retorno
A 0 3
B 7 13
C 0 4
D 9 14
E 0 2
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 40Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (6)
● La valoración de los algoritmos de planificación se suele realizar con los siguientes parámetros:– El tiempo medio de espera: tiempo que espera un
proceso desde que entra al sistema hasta que se le sirve (tiempo que espera en la cola de listos).
– El tiempo medio de retorno o servicio: tiempo que transcurre desde que un proceso empieza a ser servido hasta que termina su ejecución (es la suma de los períodos de tiempo utilizados en la espera para entrar en la memoria, la espera en la cola de procesos listos, la ejecución en la CPU y la realización de las E/S).
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 41Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
6. Algoritmos de planificación (7)
Ejercicios.1. ¿Cuáles son los algoritmos de planificación?
2. ¿En qué consiste cada uno?
3. ¿Cuál es el que peor comportamiento tiene para los procesos largos? ¿Y para los cortos?
4. ¿Cuál es el que mejor comportamiento tiene para los procesos cortos? ¿Y para los largos?
Andrés Rosique Hernándezandrosique[email protected]
U03. Gestión de procesos 42Sis
tem
as o
pera
tivos
en
ento
rnos
mon
o y
mul
tiusu
ario
Bibliografía
● Libros:– Muñoz López, F.J., Benítez Palacios, J.I., Lozano Gutiérrez, A.
Sistemas operativos en entornos monousuario y multiusuario. McGrawHill, 2005.
– Stallings, W. Sistemas operativos. Principios de diseño e interioridades. Cuarta edición. Pearson Education, 2001.
● Enlaces:– http://es.wikipedia.org.