PlanificadorProcesos Sistemas Operativos
Planificación de procesos
Planificación de Procesos
• Cuando hay mas de un proceso es el PLANIFICADOR el
que decide cual se ejecuta, lo realiza en base a un
algoritmo de planificación.
• Criterios para conseguir un buen planificador
– Equitatividad. Justo en tiempo
q
p
– Eficiencia. Mantener ocupado el CPU
– Tiempo de respuesta. Minimizar el tiempo para
usuarios interactivos.
–Retorno. Minimizar el tiempo para usuarios por lotes.
– Volumen de producción. Maximizar el volumen de
trabajos.
Ing. Rony Villafuerte Serna
Ing. Rony Villafuerte Serna
Planificación de procesos
Planificación de procesos
• Solo observando algunos de los objetivos son
contradictorios. (minimizar tiempo de respuesta
de usuarios interactivos y los trabajos por lotes).• Para dar mas a uno tenemos que dar menos a
otro.
otro
• La complicación de los planificadores es que no
saben cuanto tiempo se tomaran los procesos si
son de E/S o uso de memória etc.
• Los planificadores se sincronizan con sus relojes
automáticamente para determinar el tiempo para
cada proceso.
• La estrategia de permitir que procesos
lógicamente ejecutables se suspendan
temporalmente se llama planificación EXPROPIATIVA.
• Como se ha visto un proceso puede ser
suspendido en cualquier momento entrando
en condiciones de competencia lo que
requiere semáforos, monitores o alguna
técnica que los evite.
Ing. Rony Villafuerte Serna
Ing. Rony Villafuerte Serna
Planificación Round Robin (torneo)
Planificación Round Robin (torneo)
• El mas sencillo, antiguo, equitativo, y utilizado.
•Cada proceso con un intervalo de tiempo
llamado CUANTO durante el cual se ejecuta.
Si el proceso aun se esta ejecutando cuando
• Si el proceso aun se esta ejecutando cuando
termina su tiempo el SO se apropia del
procesador asignándoselo a otro.
• Si el proceso termina antes que el cuanto
termine la conmutación se efectúa cuando el
proceso se bloquea.
• Su implementación es sencilla, cuando un proceso termina se le pone al final del arreglo
de procesos.
p
p
• Cuando pasa de un proceso a otro demora un
tiempo.
• Si el cuanto es muy pequeño se tendría
ineficacia en las aplicaciones, es muy largo un
tiempo largo en respuesta a procesos
interactivos.
Ing. Rony Villafuerte Serna
Ing. Rony Villafuerte Serna
1
14/12/2009
Planificación por Prioridad
Planificación por Prioridad
• En round Robinse supone que todos los
procesos son igual de importantes.
• A cada procesos se le asigna una prioridad y se
j
q
y
ejecuta el que tiene la mayor.
• Para evitar que los procesos de prioridad alta
se queden indefinidamente el planificador les
reduce la prioridad por cada tic de reloj (INT).
• Las prioridades se pueden asignar dinámica o
estáticamente.
• UNIX tiene un comando que reduce la prioridad de un proceso si el usuario así lo decide (nadie lo
usa) FICE.
Un algoritmo que asigna prioridades es
• Un algoritmo que asigna prioridades es
asignando 1/f siendo f la fracción del ultimo
cuanto que uso.
– Si un proceso uso 2ns de 100 tendrá una prioridad de
50.
– Mientras que otro que uso 50 tendrá 2 de prioridad
Ing. Rony Villafuerte Serna
Ing. Rony Villafuerte Serna
Colas MúltiplesPrimer trabajo mas corto
• Cada proceso que entraba se le asignaba una
clase y por clase se le asigna 1 2 3 cuantos
según sea, cuando las clases terminaban con
sus cuantos se le degrada una clase
sus cuantos se le degrada una clase.
• Los otros para trabajos interactivos, este para
trabajos por lotes.
• Los tiempos de ejecución se conocen por
adelantado.
adelantado
• El ejecutar los procesos mas cortos primero conseguirá que el procesador tenga toda la
atención para el proceso mas largo, teniendo
un tiempo de respuesta aceptable.
Ing. Rony Villafuerte Serna
Ing. Rony Villafuerte Serna
Planificación Garantizada
Planificación por lotería.
• Hacer promesas reales a usuarios en cuanto al
rendimiento y después cumplirlas.
• Verifica todos los procesos desde su creación, ...
Regístrate para leer el documento completo.