sistemas planificacion Hrrn

21
Dep. Arquitectura de Computadores. UMA 1 4º ETSI Telecomunicación concepto criterios algoritmos ejemplos Contenido planificación Dept. Arquitectura de Computadores Univ. Málaga 2 Contenido Tema 3. Admin. y planificación de procesos. 4h 3.1 Concepto de planificación Criterios generales de planificación Tipos de planificadores 3.2 Criterios cuantitativos de planificación 3.3 Algoritmos de planificación Clasificación: expropiativos/no expropiativos Políticas de planificación simples Políticas de planificación híbridas. 3.4 Ejemplos: Linux y Windows XP

Transcript of sistemas planificacion Hrrn

Page 1: 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

Page 2: sistemas  planificacion Hrrn

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

Page 3: sistemas  planificacion Hrrn

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

Page 4: sistemas  planificacion Hrrn

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

Page 5: sistemas  planificacion Hrrn

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

Page 6: sistemas  planificacion Hrrn

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

Page 7: sistemas  planificacion Hrrn

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

Page 8: sistemas  planificacion Hrrn

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

Page 9: sistemas  planificacion Hrrn

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

Page 10: sistemas  planificacion Hrrn

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

Page 11: sistemas  planificacion Hrrn

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

Page 12: sistemas  planificacion Hrrn

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

Page 13: sistemas  planificacion Hrrn

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.

Page 14: sistemas  planificacion Hrrn

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)

Page 15: sistemas  planificacion Hrrn

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

Page 16: sistemas  planificacion Hrrn

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.

Page 17: sistemas  planificacion Hrrn

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

Page 18: sistemas  planificacion Hrrn

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)

Page 19: sistemas  planificacion Hrrn

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

Page 20: sistemas  planificacion Hrrn

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(...);

Page 21: sistemas  planificacion Hrrn

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