Vous êtes sur la page 1sur 23

Planificacin (scheduling)

Sistemas Operativos I

Objetivos
Al

Analizar polticas de planificacin Diferenciar polticas de planificacin Aplicar polticas de planificacin

terminar esta unidad aprenders a:

Sistemas Operativos I

Agenda

1. Objetivos de la planificacin 2. Planificacin PEPS 3. Planificacin por Prioridad 4. Planificacin RR 5. Planificacin Multinivel 6. Planificacin a dos niveles 7. Planificacin en multiprocedadores 8. Tarea para la casa
Sistemas Operativos I

El problema
Cuando

hay ms de un proceso que est en condiciones de ejecutar en la CPU.

Cul elegir?

El

modulo planificador (scheduler) toma la decisin

El algoritmo que se aplica se denomina


algoritmo de planificacin.
Sistemas Operativos I

Objetivos

Algunos de ellos son contradictorios:

a) Justicia. Asegurarse que todos los procesos tengan su turno de CPU b) Eficiencia. Mantener la CPU ocupada todo el tiempo Eficiencia c) Tiempo de respuesta. Minimizar el tiempo de respuesta respuesta de los usuarios interactivos d) Rendimiento o productividad. Maximizar el nmero de productividad trabajos terminados por unidad de tiempo e) Tiempo de espera. Minimizar el tiempo medio de espera espera (en la cola listos) de los procesos

Sistemas Operativos I

Complicaciones

Cada proceso es nico y de comportamiento impredecible Algunos trabajan la mayor parte del tiempo usando un dispositivo E/S (son intensivos en E/S), otros requieren ms tiempo de CPU (son intensivos en CPU) Modelos de planificacin:

con conmutacin (Expropiadora ). El planificador puede conmutar el proceso en cualquier instante Sin conmutacin (No-Expropiadora). No esta permitido conmutar procesos

Sistemas Operativos I

Casos
La

planificacin no-expropiadora (nonpreemptive)

ej.: MSDOS, Windows 3.x.

problema:

un proceso puede quedar en ciclo infinito y el


sistema operativo no tiene forma de saber.

Sistemas Operativos I

Algoritmo PEPS

PEPS (El primero que llega es atendido primero)

Desventaja El tiempo medio de respuesta no es bueno


Cola PEPS llegada

Sin conmutacin La atencin es por estricto orden de llegada a la cola Cada proceso corre hasta que termina, o hasta que hace una llamada a E/S (bloqueo de I/O)

termina

CPU Se bloquea procesos

Sistemas Operativos I

Primero el trabajo ms corto (Shortest Job First)

La cola de procesos se ordena por tiempo requerido de CPU requiere conocer la duracin de la prxima fase de CPU de cada proceso No es prctico pedir al usuario el tiempo requerido
termina Cola SJF

llegada 2 15 3 10 4 CPU

Sistemas Operativos I

Planificacin por prioridad (PPP)


PEPS es una planificacin justa? PPP reglas:

La prioridad puede definirse de manera:

A cada proceso se le da una prioridad La cola se forma por prioridad La CPU se asigna al proceso con mayor prioridad en la cola Esttica

Dinmica

No cambia Cambia a medida que pasa el tiempo

Ejemplos:

Segn categora del usuario (externa) Segn tipo de proceso: sistema, interactivo, por lotes; bien, CPUbound o I/O bound (interna) Segn cuanto hayan ocupado la CPU hasta el momento (dinmica) Mientras ms tiempo lleve esperando su prioridad crece maduracin o aging (dinmica)

Sistemas Operativos I

Round-robin (RR)

Se debe evitar que un proceso de alta prioridad ejecute por demasiado tiempo

Introducir la conmutacin antes de cederle la CPU a un proceso se inicia el timer, que despus de un plazo (quantum) genera una interrupcin para conmutar de proceso El proceso ejecuta hasta que haga una llamada de E/S bloqueante o hasta que use toda su tajada se tiempo El problema es encontrar el quantum adecuado Si es muy grande degenera en PEPS Tampoco puede ser demasiado pequeo, porque entonces el costo en cambios de contexto es preponderante Cola PEPS CPU quantum

Sistemas Operativos I

Mltiples Colas Multiple Nivel


Los procesos interactivos y los procesos por lotes tienen distintos requerimientos en cuanto a tiempos de respuesta Planificar los procesos interactivos usando RR y los procesos por lotes segn PEPS, teniendo los primeros prioridad absoluta sobre los segundos
Cola PEPS CPU

RR

Sistemas Operativos I

Ejemplo
Varias

colas planificadas, de prioridad decreciente y quantum:

Complejo de implementar Tambin es difcil de afinar, hay mltiples


parmetros que definir

Sistemas Operativos I

Planificacin a dos niveles

Se simplifica si se divide el problema en dos y se usa un planificador distinto para cada caso

Un planificador de corto plazo se encarga slo de decidir a qu proceso se le asigna la CPU, de entre todos los que estn en memoria Peridicamente, otro planificador de largo plazo decide qu procesos han estado demasiado tiempo en memoria y pasar a disco para dar oportunidad a procesos que han estado mucho tiempo en el disco.
Cola PEPS

Corto plazo

CPU
q

disco
Largo plazo

Sistemas Operativos I

Funciones de los planificadores a dos niveles


Los procesos en ejecucin estn en memoria Si la memoria disponible es escasa y hay muchos procesos en el sistema, entonces algunos procesos deben mantenerse en disco Problema:

el tiempo requerido para hacer una conmutacin de contexto que involucre traer un proceso del disco es muchsimo mayor que el tiempo de conmutacin de contexto entre procesos en memoria

Tarea: Cmo planifica UNIX?

Sistemas Operativos I

planificadores a dos niveles: reglas de decisin


Problema:

cmo decidir qu procesos deben ser llevados de una cola a otra? Reglas:

Se pueden usar factores como el tiempo que


un proceso lleva en memoria o disco, Cantidad de CPU usada hasta el momento, tamao del proceso Prioridad, etc.
Sistemas Operativos I

Planificacin en multiprocesadores

Qu es un multiprocesador? Solucin a:

varias CPUs y una memoria comn Podra asignarse una cola a cada procesador, pero se corre el riesgo de que la carga quede desbalanceada:

algunos procesadores pueden llegar a tener una cola muy larga de procesos para ejecutar, mientras otros estn desocupados (con la cola vaca)

CPU1

CPU2

CPUi

CPUn

Memoria

Sistemas Operativos I

Solucin b) Cola comn de procesos listos

Este enfoque tiene dos alternativas:

1. Cada procesador es responsable de su planificacin. Hay ineficiencia por la necesaria sincronizacin entre los procesadores para acceder la cola 2. Dejar que slo uno de los procesadores planifique y decida qu procesos deben correr los dems procesadores: multiprocesamiento asimtrico

CPU1

CPU2

CPUi

CPUn

Memoria

Sistemas Operativos I

Evaluacin de los algoritmos


Est

claro que hay numerosas alternativas de planificacin Metodologa de evaluacin:

Primero, definir una mtrica Despus elegir un mtodo para evaluar los
algoritmos y ver cul se ajusta mejor al criterio elegido

Sistemas Operativos I

Mtodos de evaluacin de algoritmos

A pesar de que cada proceso es nico e impredecible


a) simular b) determinar experimentalmente

Simulacin:

Tpicamente la distribucin de tiempo de uso de CPU es exponencial Los eventos que conducirn la simulacin pueden generarse segn su distribucin probabilstica, o tambin pueden provenir del monitoreo de un sistema real (caso experimental) Los resultados van a ser muy exactos, pero es costoso

Sistemas Operativos I

Determinando experimentalmente
En

trminos de exactitud, lo mejor es programar en el sistema operativo el algoritmo que queremos evaluar, ejecutarlo y ver cmo se comporta. tambin es caro!

Sistemas Operativos I

Tarea para la casa


1.

Qu forma de planificacin se implementa en Linux? 2. Del libro de Tanenbaum A.

Sistemas Operativos Modernos, pp. 82

resolver en grupo los siguientes problemas: 20 al 25 manuscrito

Sistemas Operativos I

FIN

Sistemas Operativos I

Vous aimerez peut-être aussi