Está en la página 1de 9

Contenido

Sistemas operativos
2 edicin

Captulo 4
Planificacin del procesador

Introduccin
Caracterizacin de los procesos
Objetivos de la planificacin
Algoritmos de planificacin expulsivos y no expulsivos
Planificacin en multiprocesadores
Estudio de un ejemplo: la planificacin en Linux
Planificacin en tiempo real

(extracto de las transparencias del libro)


Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Introduccin

El problema general de la planificacin

SO planifica recursos
UCP recurso ms importante
Planificacin del procesador
Aparece con multiprogramacin
Sistemas por lotes: aprovechamiento de UCP
Tiempo compartido: reparto equitativo entre usuarios
PC: interactividad; buen tiempo de respuesta
Multiprocesadores: aprovechar paralelismo
Tiempo real (no crtico): cumplir plazos

Recurso con mltiples ejemplares utilizado por varios usuarios


Planificacin: qu ejemplar se asigna a qu usuario

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Recurso
U4
U3

co la de espera
U6 U1 U9

U5
U7

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Aspectos generales de la planificacin

Caracterizacin de los procesos

Objetivos generales:
Optimizar uso
Minimizar tiempo de espera
Ofrecer reparto equitativo
Proporcionar grados de urgencia
Tipos de planificacin: expulsiva versus no expulsiva
Afinidad a subconjunto de ejemplares de recurso
Estricta: pedida por el usuario
Natural: favorece rendimiento

Perfil de uso del procesador


Mejor primero proceso con rfaga de UCP ms corta
Grado de interactividad
Asegurar buen tiempo de respuesta de interactivos
Nivel de urgencia
Especialmente importante en sistemas de tiempo real

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Uso intensivo de la E/S versus la UCP

J. Carretero, F. Garca, P. de Miguel, F. Prez

Optimizar el comportamiento del sistema.


Diferentes parmetros (a veces contrapuestos)

inicio();
inicio

leer

pr escribir

leer

pr escribir

escribir

fin

fin();

Programa
inicio();
leer(fichero, matriz);

Objetivos de la planificacin del procesador

Programa

Repetir
leer(fichero_entr, dato);
/* procesado sencillo */
res=pr(dato);
escribir(fichero_sal, res);
hasta EOF(fichero_entr);

Sistemas operativos, 2 edicin

inicio

leer

procesar

escribir

fin

/* procesado complejo */
procesar(matriz);

Parmetros por entidad (proceso o hilo):


Tiempo de ejecucin (Te)
Tiempo de espera
Tiempo de respuesta (Ta)
Parmetros globales:
Uso del procesador (C)
Tasa de trabajos completados (P)

escribir(fichero, matriz);
fin();

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Puntos de activacin

Algoritmos de planificacin

Puntos del SO donde puede invocarse el planificador :


1. Proceso en ejecucin finaliza
2. Proceso realiza llamada que lo bloquea
3. Proceso realiza llamada que desbloquea proceso ms urgente
4. Interrupcin desbloquea proceso ms urgente
5. Proceso realiza llamada declarndose menos urgente
6. Interrupcin de reloj marca fin de rodaja de ejecucin
Dos tipos de algoritmos:
no expulsivos: slo C.C. voluntarios (1 y 2)
expulsivos: adems C.C. involuntarios (3, 4, 5 y/o 6)
No confundir con ncleo expulsivo o no expulsivo

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Primero en llegar primero en ejecutar (FCFS)


Primero el trabajo ms corto (SJF/SRTF)
Planificacin basada en prioridades
Round robin (turno rotatorio)
Colas multinivel

Algoritmo real es mezcla de tericos + ajustes empricos

Sistemas operativos, 2 edicin

10

J. Carretero, F. Garca, P. de Miguel, F. Prez

Primero en llegar primero en ejecutar (FCFS)

Primero el trabajo ms corto (SJF)

Seleccin: Proceso que lleva ms tiempo en cola de listos


Algoritmo no expulsivo
Fcil de implementar:
Cola de listos gestionada en modo FIFO
Satisfaccin de objetivos generales:
9Optimizar uso
Minimizar tiempo de espera
Ofrecer reparto equitativo
Proporcionar grados de urgencia

Seleccin: Proceso listo con prxima rfaga UCP ms corta


Versin no expulsiva: Slo si proceso se bloquea o termina
Versin expulsiva: 1 el de menor tiempo restante (SRTF)
Tambin se activa si proceso pasa a listo (puntos 3 y 4)
Cmo se conoce a priori la duracin de la prxima rfaga?
Estimaciones a partir de las anteriores
Puede producir inanicin
Punto fuerte:
9Minimizar tiempo de espera

Sistemas operativos, 2 edicin

11

J. Carretero, F. Garca, P. de Miguel, F. Prez

Sistemas operativos, 2 edicin

12

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin por prioridad


Cada proceso tiene asignada una prioridad
Seleccin: Proceso en cola de listos que tenga mayor prioridad
Existe versin no expulsiva y expulsiva
Si proceso pasa a listo o actual baja su prioridad (3, 4 y 5)
Las prioridades pueden ser estticas o dinmicas
Prioridad puede venir dada por factores externos o internos
Puede producir inanicin:
Envejecimiento: Prioridad aumenta con el tiempo
Punto fuerte:
9Proporcionar grados de urgencia

Sistemas operativos, 2 edicin

13

J. Carretero, F. Garca, P. de Miguel, F. Prez

Colas multinivel

FCFS + plazo (rodaja o cuanto)


Algoritmo expulsivo pero slo con fin del cuanto (punto 6)
Tiempo de respuesta acotado
Tamao rodaja
Grande: tiende a FIFO
Pequeo: demasiada sobrecarga
Igual para todos los procesos o no
Para un proceso: fija o dinmica
Punto fuerte:
9Ofrecer reparto equitativo

Sistemas operativos, 2 edicin

14

J. Carretero, F. Garca, P. de Miguel, F. Prez

Colas multinivel sin realimentacin

Generalizacin: Distinguir entre clases de procesos


Parmetros del modelo:
Nmero de niveles (clases)
Algoritmo de planificacin de cada nivel
Algoritmo de reparto del procesador entre niveles
Colas con o sin realimentacin:
Sin: proceso en la misma cola durante toda su vida
Con: proceso puede cambiar de nivel

Sistemas operativos, 2 edicin

Turno rotatorio (Round Robin, RR)

15

J. Carretero, F. Garca, P. de Miguel, F. Prez

Nivel 1

Turno rotatorio (Rodaja = 50 ms.)

Prioridad mxima

Nivel 2

Turno rotatorio (Rodaja = 150 ms.)

Prioridad media

Nivel 3

Turno rotatorio (Rodaja = 450 ms.)

Prioridad mnima

Sistemas operativos, 2 edicin

16

J. Carretero, F. Garca, P. de Miguel, F. Prez

Colas multinivel con realimentacin

Turno rotatorio (Rodaja = 50 ms.)

Nivel 1
Rodaja no
agotada

Planificacin en multiprocesadores

Prioridad mxima
Rodaja
agotada

Turno rotatorio (Rodaja = 150 ms.)

Nivel 2
Rodaja no
agotada

Trivial: N UCP ejecutan N procesos ms prioritarios


S, pero hay que tener en cuenta:
Afinidad natural y estricta
Multiprocesadores jerrquicos (SMT, CMP, NUMA, ...)

Prioridad media
Rodaja
agotada

Turno rotatorio (Rodaja = 450 ms.)

Nivel 3

Compartimiento de recursos entre algunos procesadores

Evitar congestin en operacin del planificador


Adems de rendimiento puede haber otros parmetros
P.ej. minimizar consumo
Linux: echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

Prioridad mnima

Exposicin se centra en planificacin de procesos independientes


No se trata, por ejemplo, gang scheduling
2 esquemas: Cola nica vs. Una cola/procesador
Sistemas operativos, 2 edicin

17

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin en MP con cola nica

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Sistema multiprocesador jerrquico


P. fsico

UCP elige qu proceso de la cola ejecuta (autoplanificacin)


Afinidad natural: mejor ejecutar en misma UCP
Aprovecha informacin en cach
Planificacin:
UCP queda libre: proceso ms prioritario

18

P. fsico

P.lg P.lg P.lg P.lg


P

Cach L1

Cach L1

P. fsico

Nodo

P. fsico
Multincleo

P.lg P.lg P.lg P.lg


P

Cach L1

Cach L2

Cach L1

Cach L1

Cach L2

Multincleo
P

Cach L1

Cach L1

Cach L2

Cach L1

Cach L2

Prioridad matizada por la afinidad natural


Memoria del nodo

Proceso P pasa a listo:


1. UCP afn libre
2. UCP libre
3. UCP con proceso Q tal que prio(P)>prio(Q)

Prioridad matizada por la afinidad natural

Uso de int. SW de planificacin + IPI para forzar CCI


Adems, debe respetar afinidad estricta
Sistemas operativos, 2 edicin

19

J. Carretero, F. Garca, P. de Miguel, F. Prez

Memoria del nodo

Red de conexin

Jerarqua genrica
SMT (hyperthreading)
CMP (multicore)
NUMA
Sistemas operativos, 2 edicin

20

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin en multiprocesador jerrquico


Compartimiento de recursos entre algunos procesadores afecta a:
Afinidad: Extensin de afinidad a la jerarqua
Prestaciones: 2 UCP comparten Potencia total < 2*pot./UCP
Jerarqua de afinidades
SMT: Afinidad a ncleo
Mejor ejecutar en UCP lgica mismo ncleo

CMP: Afinidad a multincleo

NUMA: Afinidad a nodo

Mejor ejecutar en ncleo mismo multincleo


Mejor ejecutar en mismo nodo

Reparto teniendo en cuenta grado de independencia


Mejor ir ocupando UCPs con mayor grado de independencia
Crea proc: UCP lgica libre en ncleo libre de multincleo libre
Sistemas operativos, 2 edicin

21

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin con una cola por procesador

Nodo menos cargado (N)


Multincleo (M) menos cargado de N
Procesador fsico (F) menos cargado de M
Procesador lgico (L) menos cargado de F

Sistemas operativos, 2 edicin

22

J. Carretero, F. Garca, P. de Miguel, F. Prez

Muy verstil: desde porttiles a grandes servidores


Mejoras del planificador en versin 2.6:
Menor tiempo de respuesta. Ncleo expulsivo
Sobrecarga independiente de nmero de procesos O(1)
Mejor soporte multiprocesador: uso de una cola por UCP
Planificador: mdulo relativamente cambiante

....
00000000....

P3

Cola nica:
Accesos a cola requieren cerrojo
Limitado aprovechamiento de la afinidad natural
Cola por UCP: UCP se planifica de forma independiente
No hay congestin por cerrojo y se aprovecha mejor afinidad
En qu UCP inicia ejecucin nuevo proceso?
Procesador menos cargado
Aplicando jerarqua: Procesador seleccionado corresponde a

Planificacin en Linux

Procesador 1

P4

Planificacin en MP con una cola por UCP

Migracin

P6

P2

Procesador 3

Procesador 2
P7

P5

P1
P9

....

P8

....

00110010....

00101001....

Sistemas operativos, 2 edicin

23

J. Carretero, F. Garca, P. de Miguel, F. Prez

Sistemas operativos, 2 edicin

24

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin en Linux: uniprocesador (1/2)

Planificacin en Linux: uniprocesador (2/2)

Cola multinivel sin realimentacin: t. real (no crtico) y normal


Clase tiempo real (+ prioritaria): soporte extensiones t. real POSIX
Prioridad esttica (SCHED_FIFO o SCHED_RR para iguales)

Aspectos especficos poco convencionales:


2 listas de procesos listos: activos y expirados
Planificador selecciona de lista de activos
Proceso que agota su rodaja pasa a lista de expirados

Prioridad y rodaja especificada por el proceso

Clase normal (SCHED_OTHER): prio dinmica + RR (rodaja fija)


Prioridad base esttica: -20 (mx.) a 19 (mn.)
Ajuste dinmico de -5 (mejora) a +5 (empeora)

Depende de uso de UCP y tiempo de bloqueo


Favorece procesos interactivos y con E/S y elimina inanicin

Excepto si se considera interactivo que vuelve a activos

Cuando se desbloquea proceso pasa a lista de activos


Se crean rondas de ejecucin
Procesos agotan rodaja y terminan todos en lista de expirados
En una ronda proceso va gastando su rodaja por tramos
Fin de ronda: intercambio de listas

Rodaja con tamao fijo que depende de la prioridad base


5ms (prio 19); 100ms (prio 0); 800 ms (prio -20)

Sistemas operativos, 2 edicin

25

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin en Linux: colas de procesos


expirados

P4

P6

P2
P5

P7

P1
P9

....

Sistemas operativos, 2 edicin

P8

....
00110010....

00101001....

27

26

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin en sistemas de tiempo real


Cada proceso (Pi) se caracteriza por:
Periodo de activacin: Ti
Tiempo de cmputo (mximo)/activacin: Ci
Plazo lmite (deadline): Di
Grado de uso de UCP: Ui = Ci / Ti
Modelo simplificado:
Procesos peridicos e independientes
T=D
2 tipos de planificacin:
Con prioridades estticas

activos

P3

Sistemas operativos, 2 edicin

J. Carretero, F. Garca, P. de Miguel, F. Prez

Montona en frecuencia (RMS: Rate-Monotonic Scheduling)

Con prioridades dinmica


Por tiempo lmite (EDF: Earliest Deadline First)

Sistemas operativos, 2 edicin

28

J. Carretero, F. Garca, P. de Miguel, F. Prez

Planificacin RMS

Planificacin EDF

Asignacin esttica de prioridades


Mayor prioridad menor plazo
Soporte directo por SO con esquema de prioridades estticas
Factibilidad de una planificacin dada con n procesos:
No siempre aunque Ui 1
Garantizada si Ui [n (21/n - 1)]

Asignacin dinmica de prioridades


Mayor prioridad ms cercano fin de plazo
SO debera conocer plazos de procesos
Factibilidad de una planificacin dada con n procesos:
Basta con que Ui 1

n = 2 0,828; n = 3 0,780; n = 4 0,757; ...


n => [n (21/n - 1)] ln 2 0,693

Aunque Ui > [n (21/n - 1)] no implica infactibilidad


Depende de cada caso

Sistemas operativos, 2 edicin

29

J. Carretero, F. Garca, P. de Miguel, F. Prez

Ejercicio sobre planificacin en tiempo real


Aplicar el algoritmo RMS a los 3 siguientes ejemplos:
Ejemplo 1:

Proceso P: C = 5; T = 10
Proceso Q: C = 4; T = 15

Sistemas operativos, 2 edicin

30

J. Carretero, F. Garca, P. de Miguel, F. Prez

Ejemplos de aplicacin de RMS


P1 fin
plazo

P: C = 5; T = 10; U = 0,5
Q: C = 4; T = 15; U= 0,267
U total = 0,767 < 0,828
T(P) < T(Q)
FACTIBLE

> PRIO(P) > PRIO(Q)

P1

P: C = 5; T = 10; U = 0,5
Q: C = 7; T = 15; U= 0,467
U total = 0,967 > 0,828

Ejemplo 2:
Proceso P: C = 5; T = 10
Proceso Q: C = 7; T = 15

T(P) < T(Q) > PRIO(P) > PRIO(Q)


NO FACTIBLE

P2

Q1
5

P1

Q2
20

P1 fin
plazo

Q1 fin
plazo

P2 fin
plazo

P2
10

P3 Q2
fin plazo

P3

15

Q1 Q2
15

Ejemplo 3:

25

P3 Q2
fin plazo

P3
20

30

Q2
25

30

ERROR

Proceso P: C = 5; T = 10
Proceso Q: C = 5; T = 15

P1 fin
plazo

P: C = 5; T = 10; U = 0,5
Q: C = 5; T = 15; U= 0,333
U total = 0,833 > 0,828

Uso de EDF para ejemplos de RMS no factibles


Sistemas operativos, 2 edicin

P2 fin
plazo

10

Q1
5

Q1 fin
plazo

31

J. Carretero, F. Garca, P. de Miguel, F. Prez

T(P) < T(Q) > PRIO(P) > PRIO(Q)


PERO FACTIBLE

Sistemas operativos, 2 edicin

P1

P2

Q1
5

32

Q1 fin
plazo

10

P2 fin
plazo
Q2

15

P3 Q2
fin plazo

P3
20

25

30

J. Carretero, F. Garca, P. de Miguel, F. Prez

Ejemplo de aplicacin de EDF

P1 fin
plazo

P: C = 5; T = 10; U = 0,5
Q: C = 7; T = 15; U= 0,467
U total = 0,967 < 1
FACTIBLE

P1

Q1
5

Clc PRIO
t.fin plazo
P = 10
Q = 15
PrP>PrQ

Sistemas operativos, 2 edicin

Q1
10

Q1 fin
plazo
P2
15

P2 fin
plazo
Q2

Q2
20

P3 Q2
fin plazo
P3
25

30

Clc PRIO Clc PRIO Clc PRIO


t.fin plazo t.fin plazo t.fin plazo
P = 10
P= 5
P = 10
Q=5
Q = 15
Q = 10
PrQ>PrP PrP>PrQ PrP=PrQ

33

J. Carretero, F. Garca, P. de Miguel, F. Prez

También podría gustarte