Beruflich Dokumente
Kultur Dokumente
Sistemas operativos en entornos mono y multiusuario
GESTIÓN DE
PROCESOS
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
Licencia
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 2
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
Índice
1.Procesos y flujos
Sistemas operativos en entornos mono y multiusuario
2.Estados de los procesos
3.Control de interrupciones
4.Planificador y despachador
5.Sincronización de procesos
6.Algoritmos de planificación
U03. Gestión de procesos 3
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
1. Procesos y flujos
A los procesos, dependiendo del sistema operativo,
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 4
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
1. Procesos y flujos (2)
El programa es el libro de recetas, el procesador es el
Sistemas operativos en entornos mono y multiusuario
–
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ó.
U03. Gestión de procesos 5
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
1. Procesos y flujos (3)
Gráficamente sería así:
Sistemas operativos en entornos mono y multiusuario
U03. Gestión de procesos 6
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
1. Procesos y flujos (5)
Cuando un programa se convierte en un proceso (se
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 7
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
1. Procesos y flujos (6)
Bloque de control de proceso (PCB):
Sistemas operativos en entornos mono y multiusuario
– 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.
U03. Gestión de procesos 8
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
1. Introducción (6)
Ejercicios.
Sistemas operativos en entornos mono y multiusuario
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?
U03. Gestión de procesos 9
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos
La principal responsabilidad del sistema operativo es
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 10
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (2)
Modelo de 2 estados
Funcionamiento del modelo de 2 estados:
Sistemas operativos en entornos mono y multiusuario
– 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”.
U03. Gestión de procesos 11
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (3)
Modelo de 2 estados
El planificador se podría describir como organizador
Sistemas operativos en entornos mono y multiusuario
–
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).
U03. Gestión de procesos 12
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (4)
Modelo de 3 estados
El modelo anterior no es bueno porque algunos de
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 13
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (5)
Modelo de 3 estados
Ejecución: proceso actualmente en ejecución. Si
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 14
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (6)
Modelo de 3 estados
Las transiciones son:
Sistemas operativos en entornos mono y multiusuario
– 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.
U03. Gestión de procesos 15
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (7)
Modelo de 5 estados
Sin embargo, es conveniente añadir 2 estados más
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 16
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (8)
Modelo de 5 estados
Sistemas operativos en entornos mono y multiusuario
U03. Gestión de procesos 17
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (9)
Modelo de 6 estados
Se debe añadir el estado “Suspendido” para hablar
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 18
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (10)
Modelo de 7 estados
Listo y suspendido: el proceso está en memoria
Sistemas operativos en entornos mono y multiusuario
secundaria pero está disponible para su ejecución
en cuanto se cargue en memoria principal
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (11)
Conceptos:
Sistemas operativos en entornos mono y multiusuario
– 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ández
androsiquepublicaciones@yahoo.es
2. Estados de los procesos (12)
Ejercicios.
Sistemas operativos en entornos mono y multiusuario
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ández
androsiquepublicaciones@yahoo.es
3. Control de interrupciones
Para comprender el control de interrupciones
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 22
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
3. Control de interrupciones (2)
El cargador prepara el programa Z para ser
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 23
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
4. Planificador
El planificador es un componente del sistema
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 24
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
4. Planificador (2)
El planificador se encarga de decidir qué proceso
Sistemas operativos en entornos mono y multiusuario
pasara a estado ejecución de entre todos los
procesos que estén en estado preparado.
PROCESO A
Ahora le toca al proceso
PROCESO B B
PROCESO C
U03. Gestión de procesos 25
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
4. Planificador (3)
La elección de un proceso u otro la hace el
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 26
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
4. Planificador y despachador (4)
Ejercicios.
Sistemas operativos en entornos mono y multiusuario
1. ¿Qué es el planificador?
2. ¿Cuál es su misión?
3. ¿Cuántos tipos de planificadores tiene un sistema operativo?
U03. Gestión de procesos 27
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
5. Sincronización de procesos
Sincronización: mecanismo para impedir que
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 28
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación
Planificación de procesos: conjunto de
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 29
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (2)
Algunos de los objetivos que se suelen perseguir:
Sistemas operativos en entornos mono y multiusuario
– 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í.
U03. Gestión de procesos 30
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (2)
● La planificación puede ser con expulsión o sin ella.
Sistemas operativos en entornos mono y multiusuario
– 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.
U03. Gestión de procesos 31
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (2)
FIFO o FCFS
FIFO (FirstIn, FirstOut) o FCFS (FirstCome, First
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 32
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (2)
FIFO o FCFS
Ejemplo:
Sistemas operativos en entornos mono y multiusuario
T. Espera T. Retorno
A 0 3
– T.Espera = (0+1+5+7+10)/5 = 4,6 B 1 7
– T.Retorno = (3+7+9+12+12)/5 = 8,6 C 5 9
D 7 12
T. retorno = T. espera + T. servicio
U03. Gestión de procesos E 10 12 33
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (3)
Cíclica o round robin
● Diseñado para hacer un reparto equitativo del
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 34
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (4)
Cíclica o round robin
Ejemplo:
Sistemas operativos en entornos mono y multiusuario
T. Espera T. Retorno
A 1 4
– T.Espera = (1+10+9+9+5)/5 = 6,8 B 10 16
– T.Retorno = (4+16+13+14+7)/5 = 10,8 C 9 13
D 9 14
U03. Gestión de procesos E 5 7 35
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (5)
SPN o SJF
Se selecciona el proceso al que se le supone un
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 36
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (5)
SPN o SJF
Ejemplo:
Sistemas operativos en entornos mono y multiusuario
T. Espera T. Retorno
A 0 3
– T.Espera = (0+1+7+9+1)/5 = 3,6 B 1 7
– T.Retorno = (3+7+11+14+3)/5 = 7,6 C 7 11
D 9 14
U03. Gestión de procesos E 1 3 37
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (6)
SRT
Consiste en seleccionar en cada momento el
Sistemas operativos en entornos mono y multiusuario
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.
U03. Gestión de procesos 38
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (6)
SRT
Ejemplo:
Sistemas operativos en entornos mono y multiusuario
T. Espera T. Retorno
A 0 3
– T.Espera = (0+7+0+9+0)/5 = 3,2 B 7 13
– T.Retorno = (3+13+4+14+2)/5 = 7,2 C 0 4
D 9 14
U03. Gestión de procesos E 0 2 39
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (6)
La valoración de los algoritmos de planificación se
Sistemas operativos en entornos mono y multiusuario
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).
U03. Gestión de procesos 40
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
6. Algoritmos de planificación (7)
Ejercicios.
Sistemas operativos en entornos mono y multiusuario
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?
U03. Gestión de procesos 41
Andrés Rosique Hernández
androsiquepublicaciones@yahoo.es
Bibliografía
Libros:
Sistemas operativos en entornos mono y multiusuario
– 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.
U03. Gestión de procesos 42