Sie sind auf Seite 1von 42

Unidad 3

Sistemas operativos en entornos mono y multiusuario

GESTIÓN DE 
PROCESOS

Andrés Rosique Hernández
androsique­publicaciones@yahoo.es
Andrés Rosique Hernández
androsique­publicaciones@yahoo.es

Licencia
Sistemas operativos en entornos mono y multiusuario

Esta obra está bajo una licencia Reconocimiento­No 
comercial­Compartir bajo la misma licencia 3.0 España 
de Creative Commons.

Para ver una copia de esta licencia, visite 
http://creativecommons.org/licenses/by­nc­sa/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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@yahoo.es

6. Algoritmos de planificación (2)
FIFO o FCFS
FIFO (First­In, First­Out) o FCFS (First­Come, 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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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
androsique­publicaciones@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. McGraw­Hill, 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

Das könnte Ihnen auch gefallen