Download - sistemas planificacion Hrrn
Dep. Arquitectura de Computadores. UMA 1
4º ETSITelecomunicación
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga2
Contenido
Tema 3. Admin. y planificación de procesos. 4h
3.1 Concepto de planificaciónCriterios generales de planificaciónTipos de planificadores
3.2 Criterios cuantitativos de planificación
3.3 Algoritmos de planificaciónClasificación: expropiativos/no expropiativosPolíticas de planificación simplesPolíticas de planificación híbridas.
3.4 Ejemplos:Linux y Windows XP
Dep. Arquitectura de Computadores. UMA 2
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga3
3.1 Concepto de planificación
concepto
3.1 Concepto de planificación
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga4
3.1 Concepto de planificación¿qué es planificar?
concepto Una política de planificación responde a:a) Cuándo y en qué condiciones expulsamos a
un proceso en ejecución• Preemption (adelantamiento, expropiación)
b) Qué proceso de la cola listos despachamos• Scheduler (planificador)
Resumiendo:
• La planificación son las políticas y mecanismos que deciden el orden en que se completan los procesos.
RUNProcesos Readyb a
Dep. Arquitectura de Computadores. UMA 3
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga5
3.1 Concepto de planifiación
Objetivo del planificadorMaximizar las prestaciones del computador según ciertos criterios
Criterios generalesMaximizar el rendimiento
• Uso de la CPU, n° de trabajos terminados por u. tiempo,....Ser estadísticamente predecible
• Posibilidad de estimar cuanto va a tardar un trabajoSer imparcial
• No debe discriminar injustamente a unos proc. sobre otrosAprovechar los recursos
• Mantener en uso los distintos subsistemas del HW
criterios generales del planificador
concepto
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga6
3.1 Concepto de planifiación
Concepto de prioridadDerecho de preferencia de un proc. sobre otroSe materializa en un número
Origen de la prioridad de un procesoExterno al SO: Aspectos políticos
• Departamet. u organización al que pertenece el propietario del proceso; Precio pagado por el tiempo de CPU; ...
Interno al SO: criterios• Reducir el Tesp; asegurar tiempos de respuesta; aprovechar
recursos; evitar discriminaciones; ....Pueden ser
Estáticas: fáciles de implementar. No adaptat.Dinámicas: Sensibles a cambios en el sist.
• Envejecimiento: aumento de prioridad de un proceso que lleva mucho tiempo esperando.
prioridad
concepto
Dep. Arquitectura de Computadores. UMA 4
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga7
3.1 Concepto de planifiación
Tipos de planificadoresLargo plazoMedio plazoCorto plazo
tipos de planificadores
concepto
Run
Block
Swapped
ReadyBatch corto
medio
largo
Interactivos
exit
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga8
3.1 Concepto de planifiación
Largo plazoPoca frecuencia de ejecuciónPara procesos por lotes (batch o jobs)Lanza programas a ejecución (crea procesos)Objetivos
• Mantener constante el grado de multiprogramación– Si acaba un proceso, lanza otro
• Mantener una buena mezcla de procesos– Tantos procesos intensivos en CPU como intensivos en E/S
No siempre existe un planificador de este tipo
Los interactivos pasan direct. a ReadyFiltrado de otra naturaleza
• Por el número de terminales disponible (limita los usuarios)• Usuarios que abandonan si el sistema está muy cargado
tipos de planificadores
concepto
Dep. Arquitectura de Computadores. UMA 5
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga9
3.1 Concepto de planifiación
Medio plazoPuede controlar
• La ocupación de memoria (si hay poca, descarga procesos)• La carga del sistema (si es mucha, suspende procesos)• Puede mejorar la mezcla de procesos
No es relevante en SO modernos con M.Virt.• Los procesos que no referencian sus páginas, las van
perdiendo porque otros procesos las reemplazan
Corto plazoMantiene ocupada la CPUSe invoca muy frecuentemente
• Por tanto no debe consumir mucho tiempo de CPU• Ejemplo: Quantum de 10ms. Planificador consume 1ms
– 9% del tiempo de CPU ocupado por el planificador
tipos de planificadores
concepto
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga10
3.2 Criterios de planificación
3.2 Criterios de planificación
criterios
Dep. Arquitectura de Computadores. UMA 6
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga11
3.2 Criterios de planificacióncriterios cuantitativos
criteriosEl planificador debe optimizar valores objetivos y cuantitativos
Utilización de la CPU: 0%-100%• Porcentaje de tiempo con la CPU ocupada• Descontar el tiempo de CPU consumido por el SO
Productividad (throughput): procesos/seg.• Trabajos terminados por unidad de tiempo
Tiempo de retorno (t. real o elapsed): Tr• Tiempo desde que lanzas un programa hasta que termina.
Tiempo de espera: Te=Tr-Tproc• Parte de Tret en que el proceso está esperando en Ready
Tiempo de respuesta• En sist. multitarea mide la interactividad: desde que pides
algo al SO y éste responde.
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga12
3.2 Criterios de planificación
Ejemplo: time ls –lR /usr/X11El comando time devuelve inf. temp. del ls
3.38 user, 13.82 sys, 21.24 elapsed, 80%
• Tr: desde que empieza hasta que termina 21.24s• Tproceso: 3.38 + 13.82 = 17.2
– 3.38s en ejecución del proceso (modo user)– 13.82s en ejec. de syscalls llamadas por el proceso (núcleo)
• Te = 21.24 - (3.38 + 13.82) = 4.04s. 17.2/21.24 x 100= 80%Optimizar criterios
Maximizar la utilización y productividadMinimizar los tiempos (retorno, espera, resp.)En general se max. o min. valores mediosA veces se optimizan valores max. o min.
• Ejemplo: minimizar el valor max. del tiempo de respuestaOtras veces interesa optimizar la varianza
ejemplo y optimización de criterios
criterios
Dep. Arquitectura de Computadores. UMA 7
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga13
3.3 Algoritmos de planificación
3.3 Algoritmos de planificación
algoritmos
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga14
3.3 Algoritmos de planificación
En la política de planificación se decidea) Preemption: cuándo expulsar a un proceso run
a) Cuando un proceso terminab) Cuando el proceso inicia una operación E/S c) Cuando el proceso ya lleva cierto tiempo en run
Tiempo máximo en Run: Quantum o rodaja de tiempod) Cuando aparece un proc. ready más prioritario
b) Scheduler: cómo ordenar la cola readya) Por orden de llegada (FIFO)b) Por tiempo de ejecución del proceso o ráfaga de CPUc) Por prioridad
algoritmos
tipos de planificación
RUNProcesos Readyb a
Dep. Arquitectura de Computadores. UMA 8
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga15
3.3 Algoritmos de planificación
Tipos de preemtionNo expropiativa (no preemptive, sin expulsión)
• Sólo considera las situaciones de preemption a) y b)• Implicaciones: mientras un proceso no termine o solicite una
operación de E/S no puede despacharse otro a RunExpropiativa (preemptive, con expulsión)
• También considera las situaciones de preemption c) y/o d)• Implicaciones
– Un proceso puede expropiar a otro menos prioritario– Un proceso que agote su quatum tiene que dejar paso
• Ventajas– Mejora la interactividad y baja Trespt. de proc. prioritarios– Se evita que un proceso acapare la CPU– Más seguro: un proc. colgado en Run no bloquea todo el SO
• Inconveniente: aumenta el n° de cambios de contexto
algoritmos
tipos de preemtion
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga16
3.3 Algoritmos de planificación
Planificadores de largo plazoFIFO y SJF (Shortest Job First)
Planificadores de corto plazoNo expropiativos
• FCFS y Prioridad no expropiativoExpropiativos
• Round Robin, Prioridad expropiativo y SRT
algoritmos
algoritmos de planificación simples
XXXSRTXXXPri. ExpropXXPri. No Exprop
XXXRound RobinCortoPlazo
XXFCFSXXSJF
Largo Plazo
XXFIFOPrior.TiempoFIFOPrior.QuantumE/SNunca
Tipob) Schedulea) PreemptionPlanifi-
cador
Dep. Arquitectura de Computadores. UMA 9
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga17
3.3 Algoritmos de planificación
FIFO: MonoprocesoOrdenación por orden de llegadaVentaja: implementación simpleInconveniente: Tespera y Tretorno elevados
• Ejemplo: En 0 llegan P1 (10s), P2 (2s) y P3 (1s)
algoritmos
planificación para procesos batch
P1 P2 P30 10 12 13 Tr = (10+12+13) / 3 = 11.66
Te = (0+10+12) / 3 = 7.33
SJF (Shortest Job First): MonoprocesoOrdenación por tiempo de ejecución más cortoVentaja: reduce Tespera y TretornoInconveniente: discrimina procesos largos
P1P2P30 1 3 13 Tr = (1+3+13) / 3 = 5.66
Te = (0+1+ 3) / 3 = 1.33
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga18
3.3 Algoritmos de planificación
Características de SJFInf. temporal extraída de los parámetros del trabajo batch (proporcionada por el usuario)Proporciona un Te mínimo
• Si adelantas un proceso corto a uno largo, se reduce más el Te del proc. corto de lo que aumenta el Te del proc. largo.
Ejemplo:
algoritmos
SJF
Largo Corto
LargoCorto
Te que reducimos del corto
Te que aumentamos del largo
Valores Medios:71P432P323P206P1
TrTeHsalidaHentraHllegaTproc0 69 126 88 9
0 67 103 51 2
2.75 5.75
Dep. Arquitectura de Computadores. UMA 10
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga19
3.3 Algoritmos de planificación
FCFS (First Come First Served)Preemption por E/S (No expropiativo)Planificación por orden de llegadaInconvenientes: sistema multiprogramado
• Como en FIFO elevados Te y Tr• Efecto convoy: bajo índice de ocupación de recursos
Ejemplo• Ahora planificas ráfagas de CPU. Ejemplo P1(en solitario)
algoritmos
planificación de corto plazo
Valores Medios:71P432P323P20,54,6P1
TrTeHsalidaHentraHllegaTrafaga
CPU (4s) E/S CPU(6s)0 4 5
0 44 77 915 16
5 152 54 68 9
4.75 8.75
,9 ,15
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga20
3.3 Algoritmos de planificación
RR (Round Robin)Preemption por E/S y por Quantum (Q)Planificación por orden de llegadaInconvenientes:
• Aumenta el número de cambios de contextoVentaja: sistema multitarea
• Aumenta la interactividad
algoritmos
planificación de corto plazo
Valores Medios:71P432P323P206P1
TrTeHsalidaHentraHllegaTrafagaQ=1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Q=1
0 122 94 89 10
6 124 73 52 3
3.75 6.75
Dep. Arquitectura de Computadores. UMA 11
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga21
3.3 Algoritmos de planificación
RR (Round Robin)Si el grado de multiprogramación es N
• Cada proceso recibe 1/N del tiempo de CPU• Trespuesta ≤ N x Q
– No garantiza un Tresp muy pequeño para un proceso, pero si minimiza la desviación de Tresp y establece una cota superior
– Propiedad muy útil en sistemas interactivos: un retardo esporádico no es grave y los usuarios tienen sensación de interactividad
Decidir tamaño de Q• Si Q el sistema degenera en FCFS• Si Q demasiados cambios de contexto• Relación de Q con el rendimiento de caché
– Si Q cuando un proceso entra no encuentra sus bloques cache– Si Q un proc. que trae sus bloques, no le da tiempo a aprovecharlos
• Regla empírica: elegir Q de forma que:– El 80% de las ráfagas de CPU sean menores que Q
algoritmos
planificación de corto plazo
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga22
3.3 Algoritmos de planificación
Prioridad No ExpropiativoPreemption por E/S (No expropiativo)Planificación por prioridadEjemplo: Prioridad más alta = 31
algoritmos
planificación de corto plazo
746P53534
Prioridad
Valores Medios:
510P434P323P205P1
TrTeHsalidaHentraHllegaTrafaga
SJF es un caso particular de Prioridad No Expropiativo con Prioridad=1/Tproceso
0 515 185 918 28
0 513 162 613 23
6 11.69 15 2 8
Dep. Arquitectura de Computadores. UMA 12
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga23
3.3 Algoritmos de planificación
Prioridad ExpropiativoPreemption por E/S y por prioridadPlanificación por prioridadEjemplo: Prioridad más alta = 31
algoritmos
planificación de corto plazo
746P53534
Prioridad
Valores Medios:
510P434P323P205P1
TrTeHsalidaHentraHllegaTrafaga
Ahora un proceso puede adelantar a otro con menos prioridad aunque éste esté en ejecuciónÚtil en sistemas Tiempo Real (blando)
0 315 183 718 28
4 913 160 413 23
6.4 129 15 2 8
,7 ,9
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga24
3.3 Algoritmos de planificación
SRT (Shortest Remaining Time first)Preemption por E/S y por PrioridadPlanificación por prioridad=1/TrafagaInconvenientes:
• Discrimina procesos largos: starvation o inaniciónVentaja:
• Disminuye Te y aumenta productividad
algoritmos
planificación de corto plazo
Valores Medios:71P432P323P206P1
TrTeHsalidaHentraHllegaTrafaga
Solución para el starvation: agingAumentar la prioridad de procesos que lleven mucho tiempo esperando (envejecimiento)
0 22 55 77 8
6 120 32 40 12 5
,8 ,12
Dep. Arquitectura de Computadores. UMA 13
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga25
3.3 Algoritmos de planificación
Estimación del tiempo de ráfagaPromedio exponencial
Es decir, el segundo término contiene un históricoCuanto más antigua es la ráfaga menos pesa su duraciónSi α=0 no consideras el último tiempo de ráfagaSi α=1 no consideras la historia acumuladaTípicamente α=1/2
Ejemplo de planificador con agingHRRN (Highest Response Ratio Next)Relación de respuesta RR=(Tesp+Traf)/TrafEl proceso con mayor RR entra
algoritmos
SRT y HRRN
10 )1(1 ≤≤⋅−+⋅=+ αταατ nnn tEstimación ráfaga n+1 Tiempo ráfaga n Estimación ráfaga n
01
11 )1()1()1( ταααααατ ⋅−++⋅−++⋅−+⋅= +−−+
njn
jnnn ttt LL
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga26
3.3 Algoritmos de planificación
Atendiendo a:Decisión de preemption:
• Expropiativo o no expropiativoDecisión de scheduling:
• Orden de llegada, tiempo de proc./ráfaga, prioridad
algoritmos
resumen planificadores simples
Prio. Exp.Prio. No Exp.Prioridad
SRTSJFTiempo
Round RobinFIFOFCFS
Orden dellegada
Expropiat.No
Expropiat.
Preem.Sched.
Dep. Arquitectura de Computadores. UMA 14
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga27
3.3 Algoritmos de planificación
Colas multinivelCuando se pueden clasificar los procesos
• Ejemplo: Primer plano (foreground), Segundo plano (background), sistema, ...
• Cada grupo tiene requerimientos distintos: varias colas...
Planificación entre colas• Prioridad exprop.: Proc. sistema expropian a los demás,...• Round Robin con distinto Q: 40% Sist, 40%Int., 20% Batch.
algoritmos
planificadores híbridos
RUNRound Robin
Proc. SistemaPrioridad
FCFS
Interactivos
Batch
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga28
3.3 Algoritmos de planificación
Colas multinivel con realimentaciónLos procesos se clasifican solos automáticamente
algoritmos
planificadores híbridos
RUN
Max. PrioridadQ=8
Q=16Med. Prioridad
FCFS (Q=∞)Min. Prioridad
Los procesos entran por la cola Max. Prior.Mientras agotan el Q de la cola bajan de colaPlanificación de colas: Prioridad Expropiativa
• Un proc. de Med. Prioridad no ejecuta (o es expropiado) mientras haya un proceso ready de Max. Prioridad.
• Un proceso de Min. Prio. ejecuta cuando en las otras colas no hay procesos (están bloqueados por E/S)
Dep. Arquitectura de Computadores. UMA 15
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga29
3.3 Algoritmos de planificación
Colas multinivel con realimentaciónResultado: Clasificación automática
• Los procesos intensivos en E/S se quedan arriba• Los procesos intensivos en CPU caen a la última cola
Subir el Q cuando baja la prioridad proporciona una realimentación negativa al sistema
• Si Q fuese cte, todos los proc. estarían en las colas extremasInconveniente:
• Un proceso que puntualmente tiene unas ráfagas de CPU largas puede acabar en la cola de mínima prioridad
• Alternativas– Un proceso tiene que consumir su Q, “n” veces para bajar, y “n”
puede crecer al bajar de cola.– Un proceso también puede subir (no solo bajar) en el sistema de
colas:» Si no consume un Q umbral “m” veces, se sube a la cola de arriba
algoritmos
planificadores híbridos
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga30
3.3 Algoritmos de planificación
Ejemplo:Colas multinivel con realiment.
algoritmos
planificadores híbridos
RUN
Max. PrioridadRound Robin, Q=5
Round Robin, Q=10Min. Prioridad
92P5Valores Medios:
7,183,3P446P3
2,104,2P208P1
TrTeHsalidaHentraHllegaTrafaga
0 5 19 27,24 ,275 9 13 19,19 ,219 14 18 24,27 ,2814 17 11 17,21 ,2417 19 8 10
13.8 19.4
Dep. Arquitectura de Computadores. UMA 16
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga31
3.4 Ejemplos
3.4 Ejemplos
ejemplos
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga32
3.4 EjemplosWindows XP
ejemplos
Windows XPColas multinivel, algunas con realimentación.Prioridades de 1 a 31 (Max. prioridad = 31)Los procesos con igual prior. se atienden en RR.
• Cada prioridad representa una cola RR
6 9
1 4 11
7
8 3 5 21234
28293031
0101
1
010
Vectorresumen
Punteros acolas PCBs Planificación Colas
Prior. Expropiativa• Para que ejecute el proc. 6
tienen que estar dormidos 1, 4, 11 y 7.
Vector resumen• Permite encontrar de forma
rápida la cola de más prioridad con proc. ready.
Dep. Arquitectura de Computadores. UMA 17
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga33
3.4 EjemplosWindows XP
ejemplos
Asignación de prioridad: dos pasosAsignar clase de prioridad (asociada al proceso)Asignar prioridad relativa (para cada thread)
Clase de prioridad (prioridad base)Por CreateProcess(...,fdwCreate,...)
Tipos• Idle (4): Aplicaciones de monitorización
– Monitor del sistema, screen saver, ...• Normal (9 para 1er plano, 7 para 2° plano): proc. usuario.
– El proceso en foreground responde antes• High (13): procesos de sistema y servidores
– TaskManager: proporciona inf. de los procesos del sistema• RealTime (24): procesos de tiempo real (blando)
– No debe usarse salvo para procesos realmente críticos– Prioridades fijas de 16 a 31: colas multinivel sin realimentación
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga34
3.4 EjemplosWindows XP
ejemplos
Prioridad relativa del thread• Lowest: -2• Below_Normal: -1• Normal: 0• Above_Normal: +1• Highest: +2• Idle: 1 para todas las clases excepto para RT que es 16• Time_Critical: 15 para todas las clases excepto RT que es 31
Aplicaciones a nivel de usuarioTASKLIST.EXE: listar procesos (como ps en unix)
TASKMGR.EXE: parecido, pero con interfaz gráfico
START /LOW file.exe: permite lanzar procesos
• Otros parámetros son /Normal, /High o /RealTimeTASKILL.EXE: termina el proceso especificado
Dep. Arquitectura de Computadores. UMA 18
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga35
3.4 EjemplosWindows XP
ejemplos Syscalls para planificación
Control de la clase de prioridadBOOL SetPriorityClass(HANDLE hProcess, DWORD fdwPriorityClass);
DWORD GetPriorityClass(HANDLE hProcess);
Control de la prioridad relativa del threadBOOL SetTrheadPriority(HANDLE hThread, DWORD fdwPriority);
DWORD GetThreadPriority(HANDLE hProcess);
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga36
3.4 EjemplosLinux
ejemplos
Planificación en LinuxColas multinivel; Cada proc. tiene sched_priority [0, 99(max)]Equivale a 100 colas con prioridad estáticaTres políticas
• Procesos normales: Sched_Other (sched_priority=0)• Procesos Tiempo Real blando (sched_priority=[1,99])
– Sched_FIFO: sin preemption por quantum» Si un proceso se bloquea al despertar se pone el último» Si adelantan a un proceso, se pone el primero de su cola
– Sched_RR: con preemption por quantum» Si un proceso consume Q o se bloquea se pone el último» Si lo adelanta, se pone el primero y anota el Q que no ha
consumido (consumirá lo que le queda cuando vuelva)
Las políticas se aplican entre procesos de la misma cola (con igual sched_priority)
Dep. Arquitectura de Computadores. UMA 19
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga37
3.4 EjemplosLinux
ejemplos
Política Sched_Other (sched_priority=0)En general, todos los procesos.
• El proceso Init es de esta clase, y la sched_priority se heredaSistema de créditos, c, asociados a cada proceso
• Se despacha el proceso con más créditos• A cada tic de reloj se decrementan los créditos del proc. en run• Cuando c=0 el proceso pasa a ready• Si todos los proc. ready tienen c=0:
– Recrediting de todos los procesos: c=c/2 + prioridad
Consecuencias:• Mezcla la historia del proceso con su prioridad• Los proc. intensivos en E/S acumulan créditos• Los intensivos en CPU tienden a agotar sus créditos• Con la prioridad se puede afinar el comportamiento
– Dar poca prioridad a proc. por lotes y alta a interactivos.
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga38
3.4 EjemplosPosix
ejemplos
Visión clásica de Sched_OtherProcesos normales con prioridad=[0(max),127]prioridad = base + nice + aging
• base– Menor que 64 para procesos del kernel (prioridad estática)– Igual a 64 para procesos de usuario
• nice: de -20 a 19. Se asigna con el comando nice– El usuario ejecuta “nice programa” para bajar la prio. de su progr.– Sólo root puede poner valores negativos de nice (subir prioridad)
• aging: inicialmente 0– Se incrementa si se consume Q y al la vez se incrementa Q– Se decrementa si no se consume Q y a la vez se decrementa Q
Consecuencias:• Los proc. intensivos en E/S tienen más prioridad• Los intensivos en CPU tiene más quantum
Dep. Arquitectura de Computadores. UMA 20
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga39
3.4 EjemplosPosix
ejemplos
Syscalls para planificaciónde procesos
Modificar la prioridad de un procesoint sched_setparam(pid_t pid, conststruct_param *param);
Modificar la prioridad y la políticaint sched_setscheduler(pid_t pid, constsched_param *param);
Obtener los parámetros de planificación de un proceso
int sched_getparam(pid_t pid, conststruct_param *param);
Obtener la prioridad de un procesoint sched_getscheduler(pid_t pid);
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga40
3.4 EjemplosPosix
ejemplos
Syscalls para planificaciónde threads
Modificar la prioridad de un threadint pthread_attr_setschedparam(...);
Obtener la prioridad de un threadint pthread_attr_getschedparam(...);
Modificar la prioridad y la políticaint pthread_setschedparam(...);
Obtener los parámetros de planificación de un thread
int pthread_getschedparam(...);
Dep. Arquitectura de Computadores. UMA 21
conceptocriterios
algoritmosejemplos
Contenido
planificación
Dept. Arquitectura de Computadores
Univ. Málaga41
bibliografía
A. SILBERSCHATZ, P. GALVIN, Sistemas Operativos. 5 Edición, Pearson, 1999.
Capítulo 5.J. CARRETERO, P. DE MIGUEL, F. GARCÍA, F. PÉREZ, Sistemas Operativos. Una visión aplicada. Mc Graw-Hill, 2001
Capítulo 3.W. STALLINGS, Operating Systems: Internals andDesign Principles. Cuarta Edición, Prentice-Hall, 2000.
Capítulo 9 .
bibliografía