Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos de Planificación
Algoritmos de Planificación
Gestin de Procesos
Tema 5: Planificacin de procesos.
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:
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:
Escuela Universitaria de
Informtica (Segovia) 5
5.1 Criterios y tipos de planificacin.
Criterios de planificacin:
Escuela Universitaria de
Informtica (Segovia) 6
5.1 Criterios y tipos de planificacin.
Criterios de planificacin:
Escuela Universitaria de
Informtica (Segovia) 7
5.2 Algoritmos de planificacin.
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:
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:
Escuela Universitaria de
Informtica (Segovia) 14
5.2 Algoritmos de planificacin.
Planificacin por prioridad:
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.
Escuela Universitaria de
Informtica (Segovia) 17
5.2 Mtodos Multicola y Multiprocesador.
Escuela Universitaria de
Informtica (Segovia) 18
5.2 Mtodos Multicola y Multiprocesador.
Escuela Universitaria de
Informtica (Segovia) 19
5.2 Mtodos Multicola y Multiprocesador.
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.
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:
Escuela Universitaria de
Informtica (Segovia) 23
5.2 Evaluacin de polticas de planificacin.
Modelado determinista:
Caractersticas:
Cmodo de realizar.
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:
Escuela Universitaria de
Informtica (Segovia) 27
5.2 Evaluacin de polticas de planificacin.
Solucin:
Escuela Universitaria de
Informtica (Segovia) 28