Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Planificacion
Planificacion
Planificación de Procesos
Planificación de la CPU…
• Gestionar la compartición de la CPU entre una
comunidad de procesos/hilos.
Nuevo Lista de
Preparados
Planificador CPU Hecho
Hilo
Trabajo Trabajo
Gestor de
Asignado Recursos Petición
Trabajo
Trabajo Bloqueado
Recursos
Planificación de la CPU
Descriptor de
Proceso Preparado Procesos
Lista de
Encolador Preparados
Conmutador
Distribuidor CPU
de Contexto
Proceso en
Ejecución
Compartición de la CPU
• Compartición voluntaria
– Cada proceso/hilo invoca explícitamente y
de modo periódico al planificador
– Planificador no apropiativo
• Compartición involuntaria
– Incluir temporizador de intervalo
– Planificador apropiativo
Criterios de planificación
• Justicia
• Eficiencia
• Tiempo de retorno (turnaround time)
• Tiempo de espera
• Tiempo de respuesta
• Rendimiento
Maximizar la utilización de la CPU y minimizar los
tiempos de retorno, de espera y de respuesta, todo
ello con la mayor justicia para todos los procesos
Planificadores
• Planificador a largo
plazo o planificadores
de trabajo
• Planificadores a corto
plazo o planificadores
de CPU
• Planificadores a
mediano plano
Tipos de procesos
Puede ser:
Ventajas Desventajas
Proceso T. Servicio
0 350
1 125
2 475
3 250
4 75
Prioridades Apropiativo:
Si Pi esta Ejecutándose, y llega Pj con mas alta
prioridad, Pi es desalojado
Quantum
¿Cuánto debe ser el quantum adecuado?
Si es muy grande:
Mayor aprovechamiento de CPU por usuarios.
Degenara en FCFS: Usuarios de terminales
“Que el sistema tarda mucho en atenderlos”
Es muy pequeño:
Usuarios son atendidos de inmediato, pero por muy
poco tiempo
Degradamiento del aprovechamiento de CPU.
Muchos cambios de contexto overhead
Round Robin (RR)
Sistemas multiusuario de tiempo compartido
Similar a FCFS, añadiéndole la expropiación de la
CPU, cuando se sobrepasa el tiempo
preestablecido.
Implementación:
Cola FIFO para procesos Listos.
Planificador selecciona un proceso establece una
temporización correspondiente a la porción de tiempo.
Cede el control al proceso. Puede ocurrir:
Round Robin (RR)
1. Proceso termina o realiza una operación de E/S
antes de acabar la porción de tiempo cede CPU
voluntariamente.
Proceso pasa a espera.
Planificador selecciona proceso de Listo.
Cola Preparados
Colas Múltiples Niveles
Retroalimentadas- MLF
Mezcla de las técnicas de envejecimiento y de las
múltiples colas.
Las distintas colas pueden tener políticas de tiempo
compartido, pero las más prioritarias poseen menor
porción de tiempo.
Un proceso se puede mover de una cola a otra:
Un proceso lleva mucho tiempo en cola de poca
prioridad, se le pasa a otra de mayor prioridad (evita
envejecimiento)
Proceso usa demasiado tiempo de CPU se pasa a una
cola de menor prioridad.
Colas Múltiples Niveles
Retroalimentadas- MLF
Sistema Heterogéneo:
Programas compilados para un procesador, se
ejecutan en ese procesador.
Cada procesador tiene su propia cola Listo, y su
propia planificación.
Planificación en
Multiprocesadores
Sistema Homogéneo:
Planificación por si mismo (autoploanificación)
Cada procesador es responsable de su
planificación y de sacar de la cola LISTO.
Requiere sincronización entre
procesadores
• Cola Listo cuello de botella.
Planificación en
Multiprocesadores
Sistema Homogéneo:
Maestro/Esclavo
Uno de los procesadores planifica.
Ejecuta el SO
Despacha los trabajos a los esclavos.
Hace todo el procesamiento de las
interrupciones.
Esclavo sólo ejecuta los programas.
Puede ser el cuello de botella.
Evaluación de los algoritmos
Modelo determinista
Considerar una carga de trabajo
determinada
Necesita datos precisos como entrada. Las
respuestas sólo son válidas para esos casos
Define el rendimiento de cada algoritmo
Muy sencillo
Válido cuando siempre se están ejecutando
los mismos programas y en el mismo orden
Evaluación de los algoritmos
Modelo determinista
Proceso T. Servicio
Minimizar Tespera?
1 10
2 29 • FCFS
3 3 • SJF
4 7
• RR (Q=10)
5 12
FCFS
0 10 39 42 49 61
P1 P2 P3 P4 P5
Modelo determinista
Proceso T. Servicio
1 10
2 29
3 3
4 7
5 12
SJF
0 3 10 20 32 61
P3 P4 P3 P5 P2
Modelo determinista
Proceso T. Servicio
1 10
2 29
3 3
4 7
5 12
RR (Q=10)
0 10 20 24 31 41 52 55 64
P1 P2 P3 P4 P5 P2 P5 P2
Simulaciones
Método más preciso para medir algoritmos de
planificación
• Construir un simulador
• Generara en forma aleatoria procesos,
tiempos de ráfagas, tiempos de llegada, etc.
Problema: muy caras
Evaluación de los algoritmos
Implantaciones
Implantar el algoritmo en el SO y ver su
funcionamiento
• Más exacto
• Caro
• No adecuado para sistemas reales
(experimentando)