Planificador
Enviado por fenixblanco • 3 de Diciembre de 2012 • 309 Palabras (2 Páginas) • 450 Visitas
El planificador es el componente del sistema operativo que
se encarga de repartir el procesador entre los procesos
listos
• El planificador del Linux es preemptivo
• Fue reescrito completamente para la versión 2.6 (dos
veces)
• Intenta lograr buen tiempo de respuesta interactivo por lo
que favorece a los procesos limitados por I/O
• También asegura que los procesos limitados por CPU
puedan ejecutar alguna vez
Depende de la clase de planificación del proceso
(scheduling class)
– SCHED_FIFO
– SCHED_RR
– SCHED_NORMAL
• Las dos primeras son para procesos de tiempo real, la
segunda es para los demás
• Usa algoritmos distintos para cada una de ellas
Todas sus operaciones corren en tiempo constante
independientemente de la cantidad de procesos en el
sistema (O(1))
• Maneja colas separadas por procesador
• Intenta que los procesos corran siempre en la misma CPU
• Está optimizado para el caso más común de pocos
procesos listos, pero escala a varios procesadores con
muchos procesos listos
• Está basado completamente en consideraciones empíricas
Prioridades
• El planificador de Linux está basado en prioridades
• Ejecuta siempre el proceso de mayor prioridad
• Además el timeslice es mayor cuanto mayor sea la
prioridad.
• Linux usa prioridades dinámicas: el planificador puede
aumentar o disminuir la prioridad de un proceso
• Para procesos normales la prioridad va de 100 a 139
– Se corresponden con nice de -20 a 19
• Para procesos de tiempo real va de 0 a 99TSO – Planificador - 2012
Timeslice
•
...