Está en la página 1de 28

Unidad 2:

Gestin de Procesos
Tema 5: Planificacin de procesos.

5.1 Criterios y tipos de planificacin.


5.2 Algoritmos de planificacin.
5.3 Mtodos multicolas y multiprocesadores.
5.4 Evaluacin de polticas de planificacin.

Escuela Universitaria de
Informtica (Segovia) 1
5.1 Criterios y tipos de planificacin.
Introduccin:

Objetivo de la multiprogramacin:
Tener un proceso en ejecucin en todo momento para un
mayor aprovechamiento de la CPU.
En un sistema monoprocesador nunca habr ms de un
proceso en ejecucin. Si hay ms procesos, tendrn que
esperar a que la CPU quede libre para reasignarse.
Para un mayor aprovechamiento, se mantienen varios
procesos en memoria a la vez. Cuando un proceso
necesita esperar, el SO le quita la CPU y se la da a otro
proceso.
Casi todos los recursos del computador se planifican
antes de usarse; la planificacin es fundamental en el
diseo de un SO.

Escuela Universitaria de
Informtica (Segovia) 2
5.1 Criterios y tipos de planificacin.
Ciclo de rfagas de CPU y E/S:

La ejecucin de un proceso consiste en un ciclo de


ejecucin alternando de manera sucesiva:
Rfagas de CPU (que inician el proceso), durante las cuales el
proceso ejecuta instrucciones.
Rfagas de E/S, durante las cuales el proceso utiliza o espera
por la E/S.
Se ha medido la duracin de las rfagas de CPU y resulta
que varan considerablemente de un proceso a otro y
de un procesador a otro, sin embargo tienden a tener una
curva de frecuencia bien tipificada.

Escuela Universitaria de
Informtica (Segovia) 3
5.1 Criterios y tipos de planificacin.
Ciclo de rfagas de CPU y E/S:
Histograma de tiempos de rfaga de CPU:
Se observa:
Gran n de rfagas de CPU cortas y pocas rfagas de CPU largas.
Rfagas de CPU cortas: programas limitados por E/S.
Rfagas de CPU largas: programas limitados por CPU.

Escuela Universitaria de
Informtica (Segovia) 4
5.1 Criterios y tipos de planificacin.
Planificacin expropiativa:

Las decisiones de planificacin de CPU se toman segn


las cuatro situaciones siguientes:
1. Cuando un proceso pasa del estado en ejecucin a en espera.
2. Cuando un proceso pasa del estado en ejecucin a listo.
3. Cuando un proceso pasa del estado en espera al estado listo.
4. Cuando un proceso termina.

Los casos 1 y 4 corresponden a una planificacin no


expropiativa (a la fuerza hay que escoger un nuevo
proceso).
Los casos 2 y 3 corresponden a una planificacin
expropiativa.

Escuela Universitaria de
Informtica (Segovia) 5
5.1 Criterios y tipos de planificacin.
Criterios de planificacin:

Utilizacin de CPU: % de tiempo que la CPU est ocupada.


Rendimiento: n de procesos, trabajos, que se completan
por unidad de tiempo.
Tiempo de retorno: tiempo transcurrido entre la llegada de
un proceso y su finalizacin.
Tiempo de espera: tiempo que un proceso permanece en la
cola de preparados.
Tiempo de respuesta: tiempo que un proceso bloqueado
tarda en entrar en la CPU desde que ocurre el suceso que lo
bloquea.

Escuela Universitaria de
Informtica (Segovia) 6
5.1 Criterios y tipos de planificacin.
Criterios de planificacin:

Posibles objetivos de la planificacin:


Minimizar el tiempo medio de espera o de retorno.
Maximizar la utilizacin de CPU.
Mantener el tiempo de respuesta por debajo de un valor mximo.
En sistemas interactivos, como los sistemas de tiempo
compartido, se consideran tambin la estadstica (las
medias) de esas magnitudes.
No existe ninguna poltica de planificacin ptima. La
bondad de un mtodo depende de:
Tipo de procesos.
Criterio.

Escuela Universitaria de
Informtica (Segovia) 7
5.2 Algoritmos de planificacin.

FCFS (First Come, First Served).


SJF (Shortest Job First) o SPN (Shortest Process Next).
SRTF (Shortest Remaining Time First).
Planificacin por prioridad.
Planificacin por turno circular, RR (Round Robin).
Realimentacin.
HRRN (Highest Response Ratio Next).

Escuela Universitaria de
Informtica (Segovia) 8
5.2 Algoritmos de planificacin.
FCFS (First Come, First Served), ejemplo:
Planificacin de servicio por orden de llegada.
Calcular el tiempo de espera, tiempo de retorno y
tiempo medio de espera si aplicamos el algoritmo FCFS
suponiendo que los procesos siguientes llegan en el mismo
instante y en el orden: P1, P2, P3.
Y si el orden de llegada es: P2, P3, P1?.

Escuela Universitaria de
Informtica (Segovia) 9
5.2 Algoritmos de planificacin.
FCFS, ejemplo:

Escuela Universitaria de
Informtica (Segovia) 10
5.2 Algoritmos de planificacin.
FCFS:

Planificacin de servicio por orden de llegada.


Es el algoritmo ms sencillo, el primer proceso que solicita
la CPU es el primero en recibirla.
Fcil de implementar con una poltica FIFO para la cola de
preparados.
Tiempo de espera promedio bastante largo.

Escuela Universitaria de
Informtica (Segovia) 11
5.2 Algoritmos de planificacin.
SJF (Shortest Job First), ejemplo:
Primero el trabajo ms corto.
Calcular el tiempo medio de espera que resulta de aplicar:
Un algoritmo SJF no expulsivo.
Un algoritmo SJF expulsivo (SRTF, Shortest Remaining Time
First).

Escuela Universitaria de
Informtica (Segovia) 12
5.2 Algoritmos de planificacin.
SJF, ejemplo:

Escuela Universitaria de
Informtica (Segovia) 13
5.2 Algoritmos de planificacin.
SJF:

Entra en la CPU el proceso con la rfaga de CPU ms


corta.
Minimiza el tiempo de espera medio.
Riesgo de inanicin de los procesos de larga duracin.
No es implementable. Se pueden estimar las duraciones de
los procesos, segn su historia reciente.
Versin expulsiva (SRTF): el proceso en CPU es desalojado
si llega a la cola un proceso con duracin ms corta.

Escuela Universitaria de
Informtica (Segovia) 14
5.2 Algoritmos de planificacin.
Planificacin por prioridad:

Cada proceso tiene una prioridad, entrar primero en la


CPU el que tenga mayor prioridad.
Poltica de prioridades expulsiva o no.
La prioridad se puede definir:
De forma interna, la define el SO.
De forma externa, la definen los usuarios.
SJF es un caso de planificacin por prioridad.

Los procesos de prioridad ms baja tienen riesgo de


inanicin.
Solucin: envejecimiento. Ir aumentando de forma
progresiva la prioridad de los procesos en espera.

Escuela Universitaria de
Informtica (Segovia) 15
5.2 Algoritmos de planificacin.
Planificacin por turno circular:
RR (Round Robin):
Adecuado para implementar tiempo compartido.
Comportamiento como FCFS, con la diferencia de que cada
proceso dispone de un cuanto de tiempo mximo.
Si cuando expira el cuanto de tiempo el proceso contina en CPU, el
planificador lo desaloja y lo ingresa al final de la cola de preparados.
La cola de preparados se gestiona como FIFO.
Segn sea el cuanto de tiempo, Q:
Si Q es muy grande, los procesos terminan sus rfagas de CPU
antes de que termine el cuanto: se comporta como un FCFS.
Si Q=>0, se tiende a un sistema en el que cada proceso dispone de
un procesador a 1/N de la velocidad del procesador real (procesador
compartido).
Si Q es muy pequeo se suceden constantemente los cambios
de contexto y del rendimiento disminuye mucho.

Escuela Universitaria de
Informtica (Segovia) 16
5.2 Mtodos Multicola y Multiprocesador.

Planificacin con colas de mltiples niveles:


Distinguimos entre procesos que pueden tener distintas
necesidades en cuanto al tiempo de respuesta y por
tanto distintas necesidades de planificacin.
Procesos que se ejecutan en primer plano o interactivos.
Procesos que se ejecutan en segundo plano o por lotes.

Escuela Universitaria de
Informtica (Segovia) 17
5.2 Mtodos Multicola y Multiprocesador.

Planificacin con colas de mltiples niveles:

Un algoritmo de planificacin con colas de mltiples niveles


divide la cola de procesos listos en varias colas.
Cada cola tiene su propio algoritmo de planificacin.
Existir, por tanto, una planificacin entre colas.
Las colas se pueden planificar segn:
Planificacin expropiativa de prioridades fijas.
Dividiendo el tiempo de CPU entre las colas.

Escuela Universitaria de
Informtica (Segovia) 18
5.2 Mtodos Multicola y Multiprocesador.

Planificacin con colas de mltiples niveles y


realimentacin:

Se permite que un proceso pase de una cola a otra.


Si un proceso gasta demasiado tiempo de CPU, se le pasa
a una cola de menor prioridad.
Si un proceso espera mucho tiempo en una cola de baja
prioridad se le puede pasar a una de mayor prioridad,
evitando la inanicin. (Caso del sistema UNIX)

Escuela Universitaria de
Informtica (Segovia) 19
5.2 Mtodos Multicola y Multiprocesador.

Planificacin con colas de mltiples niveles y


realimentacin:

Un planificador de colas multinivel con realimentacin


est definido por los siguientes parmetros:
El nmero de colas.
El algoritmo de planificacin para cada cola.
Los mtodos para determinar cuando mover un proceso a
una cola de distinta prioridad a la que ocupa.
El mtodo para determinar en qu cola ingresar un
proceso.

Escuela Universitaria de
Informtica (Segovia) 20
5.2 Mtodos Multicola y Multiprocesador.

Planificacin en multiprocesadores:
Varias CPU => planificacin ms compleja.
Supondremos procesadores de igual funcionamiento:
Cualquier procesador disponible podr ejecutar cualquier
proceso de la cola.
Uso de cola comn para todos los procesos:
No habr procesadores ociosos con su cola vaca.
No habr procesadores con muy alta ocupacin.
Dos posibles estrategias:
Cada procesador se autoplanifica, asegurndonos de que:
Dos procesadores no escojan el mismo proceso.
No se quede ningn proceso sin escoger.
Un procesador acta como planificador de los dems
procesadores.

Escuela Universitaria de
Informtica (Segovia) 21
5.2 Evaluacin de polticas de planificacin.

Cmo escoger el algoritmo de planificacin a utilizar?

Criterios de evaluacin de un algoritmo:


Grado de utilizacin de la CPU.
Tiempo de respuesta.
Rendimiento.

Evaluacin de polticas:
Modelado determinista.
Modelos de colas (estadsticos).
Simulaciones.
Implementacin.

Escuela Universitaria de
Informtica (Segovia) 22
5.2 Evaluacin de polticas de planificacin.

Modelado determinista:

Evaluacin analtica de algoritmos: se calcula el


desempeo de un algoritmo teniendo en cuenta la
carga de trabajo del sistema:

1. Se definen los criterios de rendimiento.


2. Se buscan los algoritmos candidatos.
3. Se establece una carga de trabajo representativa del sistema.
4. Para cada algoritmo:
Sometemos la carga de trabajo a su planificacin.
Evaluamos su rendimiento en funcin de los criterios de 1.
5. Seleccionamos el que mejor se comporte.

Escuela Universitaria de
Informtica (Segovia) 23
5.2 Evaluacin de polticas de planificacin.

Modelado determinista:

Caractersticas:

Cmodo de realizar.

Proporciona magnitudes exactas con las que comparar los


algoritmos.

Limitacin de su validez en cuanto a que se le somete a una


carga concreta de trabajo.

Escuela Universitaria de
Informtica (Segovia) 24
5.2 Evaluacin de polticas de planificacin.

Modelos de colas:
Metodologa:
Determinacin de la distribucin (estadstica) de rfagas de
CPU y de E/S.
Distribucin de los tiempos de llegada al sistema.
Resultado: probabilidad de una rfaga de CPU dada.
Distribucin exponencial que se describe en trminos de su
media.
Clculos de:
Rendimiento promedio.
Tiempo de espera ...
Sistema informtico como:
Red de servidores, cada servidor con su cola de procesos en
espera

Escuela Universitaria de
Informtica (Segovia) 25
5.2 Evaluacin de polticas de planificacin.

Simulaciones:
Programacin de un modelo del sistema de computacin.
Generacin de datos: generador de nmeros aleatorios
modificado para generar:
Procesos.
Tiempo de rfagas de CPU.
Llegadas, partidas, ...
Problemas:
Simulaciones costosas, requieren mucho tiempo y recursos.
Cintas de rastreo, registran secuencias de sucesos reales,
requieren mucho espacio de almacenamiento.
Tarea compleja de diseo, codificacin y depuracin del
simulador.

Escuela Universitaria de
Informtica (Segovia) 26
5.2 Evaluacin de polticas de planificacin.

Implementacin:

Mtodo ms fiable, forma exacta de evaluar un algoritmo


de planificacin.
Metodologa:
Codificarlo.
Colocarlo en el SO.
Probar su funcionamiento.
Problema:
Coste elevado:
Modificacin del SO.
Dificultar el trabajo de los usuarios, puesto que el SO est en
continuo cambio.

Escuela Universitaria de
Informtica (Segovia) 27
5.2 Evaluacin de polticas de planificacin.

Solucin:

Plantear un esquema hbrido del tipo:


1. Anlisis preliminar de las polticas candidatas mediante
modelos deterministas.
2. Simulacin de la opcin u opciones ms ventajosas.
3. Implementacin de la opcin ptima:
Primero en un sistema de desarrollo (pruebas).
Finalmente en un sistema de produccin.
Problema:
Entorno dinmico y variable (nuevos programas, nuevos
problemas).
Caracterstica deseada: Planificacin flexible, separacin clara
entre mecanismos y polticas.

Escuela Universitaria de
Informtica (Segovia) 28

También podría gustarte