Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Operativos I
Objetivos
Al
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
Cul elegir?
El
Objetivos
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
problema:
Sistemas Operativos I
Algoritmo PEPS
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
Sistemas Operativos I
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
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
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
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
Sistemas Operativos I
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
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
Sistemas Operativos I
cmo decidir qu procesos deben ser llevados de una cola a otra? Reglas:
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
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
Primero, definir una mtrica Despus elegir un mtodo para evaluar los
algoritmos y ver cul se ajusta mejor al criterio elegido
Sistemas Operativos I
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
Sistemas Operativos I
FIN
Sistemas Operativos I