Sie sind auf Seite 1von 109

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Planificacin de procesos: Algoritmos de


planificacin
Gunnar Wolf
Facultad de Ingeniera, UNAM

2013-02-27 2013-03-11

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

ndice

Introduccin

Mtricas

Algoritmos de planificacin

Esquemas hbridos y prioridades externas

Resumiendo y temas relacionados

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Referencia para esta seccin

Buena parte del material de esta unidad toma por referencia al


captulo 2 de An operating systems vade mecum (Raphael
Finkel, 1988)

(Disponible en el sitio Web del curso)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Principal decisin en un sistema multitareas


Qu proceso es el siguiente a ejecutar?
Qu procesos han ido terminando?

Qu eventos ocurrieron que hacen que cambien de


estado?
Solicitudes (y respuestas) de E/S
Swap de/a disco

Cual es el siguiente proceso al que le toca atencin del


CPU?
Y por cunto tiempo?

Vemos que hay tres tipos muy distintos de planificacin.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Planificador a largo plazo

Cual es el siguiente proceso a ser iniciado


Principalmente orientado a la operacin en lotes
Principalmente a los sistemas con spool
Tambin presente en la multiprogramacin temprana

Decide en base a los requisitos pre-declarados de los


procesos, y a los recursos disponibles al ejecutarse
Periodicidad: segundos a horas
Hoy en da no se emplean
El usuario indica expresamente qu procesos iniciar

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Planificador a largo plazo

Figura: Planificador a largo plazo

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Planificador a mediano plazo


Cules procesos hay que bloquear
Por escacez/saturacin de algn recurso (p.ej.
almacenamiento primario)
Por haber iniciado una operacin que no puede
satisfacerse an

Cules procesos hay que desbloquear


A la espera de algn dispositivo
Fueron enviados a swap, pero ya requieren o merecen
ejecutarse

Frecuentemente llamado agendador (scheduler)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Planificador a mediano plazo

Figura: Planificador a mediano plazo, o agendador

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Planificador a corto plazo

Cmo compartir momento a momento al CPU entre


todos los procesos
Se efecta decenas de veces por segundo
Debe ser simple, eficiente y rpido

Se encarga de planificar los procesos listos para ejecucin


Estados listo y ejecutando

Frecuentemente llamado despachador (dispatcher)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Planificador a corto plazo

Figura: Planificador a corto plazo, o despachador

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

El enfoque de esta seccin

En esta seccin hablaremos particularmente del planificador a


corto plazo
Cuando un proceso es suspendido (o bloqueado) y
posteriormente reactivado, lo trataremos como un proceso
nuevo.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Tipos de proceso

Diversos procesos tienen distintas caractersticas


Alternan entre rfagas (bursts)
Limitado por CPU
Limitado por E/S

Cuando termina una rfaga limitada por CPU y se


suspende esperando E/S, deja de estar listo y sale de la
vista del despachador
Esto nos lleva a separar los procesos en. . .

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Tipos de proceso
Largos Han estado listos o en ejecucin por mucho
tiempo
Esto es, estn en una rfaga limitada por
CPU
Cortos En este momento estn en una rfaga limitada
por E/S
Requieren atencin meramente ocasional del
procesador
Tienden a estar bloqueados, esperando a
eventos

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

ndice

Introduccin

Mtricas

Algoritmos de planificacin

Esquemas hbridos y prioridades externas

Resumiendo y temas relacionados

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Unidades a manejar
Para hablar de planificacin del procesador, no vamos a
manejar tiempos estndar (s, ms, ns), sino que:
Tick Un tiempo mnimo dado durante el cual se puede
realizar trabajo til. Medida caprichosa y
arbitraria.
En Windows, un tick dura entre 10 y 15 ms. En
Linux (2.6.8 en adelante), dura 1 ms.
Quantum Tiempo mnimo, expresado en ticks, que se
permitir a un proceso el uso del procesador.
En Windows, 212 ticks (esto es, 20180ms).
En Linux, 10200 ticks (10-200ms)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Qu es mejor?
No hay un slo criterio para definir qu es una mejor
respuesta
El patrn correcto vara segn el propsito del sistema
Un proceso interactivo sufre si el tiempo de respuesta
incrementa, aunque pueda procesar por ms tiempo
corrido
En caso de sufrir demoras, debemos intentar que sean
consistentes, aunque el tiempo promedio resulte
deteriorado
Es mejor saber que el sistema siempre tardar 0.5s en
responder a mis necesidades a que unas veces responda
de inmediato y otras tarde 3s.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Qu mtricas compararemos?
Para un proceso p que requiere ejecutarse por tiempo t,
Tiempo de respuesta (T ) Tiempo total que toma el trabajo
Incluye el tiempo inactivo (pero listo).
Tiempo en espera (E ) De T , cunto tiempo est esperando
ejecutar. (Tiempo perdido)
E =T t
El proceso p desea que E 0
Proporcin de penalizacin (P) Fraccin del tiempo de
respuesta durante la cual p estuvo en espera.
P = Tt
Proporcin de respuesta (R) Fraccin del tiempo de respuesta
durante la cual p pudo ejecutarse.
R = Tt ; R = P1

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Adems de los anteriores, para el sistema. . .

Tiempo ncleo o kernel Tiempo que pasa el sistema en


espacio de ncleo
Tiempo desocupado (idle) Tiempo en que la cola de procesos
listos est vaca y no puede realizarse ningn
trabajo.
Utilizacin del CPU Porcentaje del tiempo en que el CPU est
realizando trabajo til.
Conceptualmente, entre 0 y 100 %
En realidad, en un rango entre 40 y el 90 %.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Por ejemplo. . .
Los siguientes procesos forman la cola de procesos listos:
Proceso
A
B
C
D

Ticks
7
3
12
4

Llegada
0
2
6
20

Toma 2 ticks realizar un cambio de contexto; cada quantum es


de 5 ticks, y tenemos un ordenamiento de ronda1

Que pronto describiremos

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Precisiones sobre el ejemplo

Nuestro ejemplo no es realista


El cambio de contexto propuesto es
desproporcionadamente largo! (slo para ejemplificar)
Consideraremos al tiempo ncleo como si fuera un
proceso ms
Midiendo como si iniciara y terminara junto con los
dems
Normalmente el tiempo ncleo no se cuenta, es tomado
por burocracia

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Graficando nuestro ejemplo

Figura: Ejecucin de cuatro procesos con quantums de 5 ticks y


cambios de contexto de 2 ticks

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Resultado de nuestro ejemplo


Proceso
A
B
C
D
Promedio til
Ncleo
Promedio total

t
T
E
P
R
7
21
14
3.0
0.33
3
8
5 2.66
0.37
12
32
14 2.66
0.37
4
14
10
3.5
0.28
6.5 18.75 10.75 2.958 0.3383
14
40
26
4.0
0.25
8
23 13.8 2.875 0.347

Tiempo kernel 14 ticks


Tiempo desocupado 0 ticks
Utilizacin del CPU 26 ticks

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Frecuencias
Respecto al patrn de llegadas y salidas de procesos a la cola
de procesos listos:
Frecuencia de llegada promedio
Tiempo de servicio requerido promedio
Valor de saturacin, =
Esto significa:
= 0 Nunca llegan procesos nuevos; el sistema estar
desocupado
= 1 Los procesos van saliendo al mismo ritmo al que
van entrando
> 1 Los procesos llegan ms rpido de lo que puede
ser atendidos. La cola de procesos listos tiende a
crecer. R se decrementa para todos.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

ndice

Introduccin

Mtricas

Algoritmos de planificacin

Esquemas hbridos y prioridades externas

Resumiendo y temas relacionados

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Cundo se ejecuta el despachador?


Cuando un proceso:
1

Pasa de ejecutando a en espera


p.ej. por solicitar E/S, sincronizacin con otro proceso,
ceder el paso (yield)

Pasa de ejecutando a listo


p.ej. al ocurrir una interrupcin

Deja de estar en espera para estar listo


p.ej. cuando finaliza la operacin E/S que solicit

Pasa de ejecutando a terminado


Cuando finaliza su ejecucin

Para la multitarea cooperativa, pueden ser slo 1 y 4.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Nuestros procesos base


Para presentar los diferentes algoritmos, usarmos la siguiente
tabla de procesos:
Proceso
A
B
C
D
E
Promedio

Tiempo de
llegada

Tiempo
requerido
(t)
0
3
1
5
3
2
9
5
12
5
4

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Primero llegado, primero servido (FCFS)

First Come, First Serve.


Tambin referido como FIFO (First In, First Out)

El esquema ms simple de planificacin


Apto para multitarea cooperativa
Cada proceso se ejecuta en rden de llegada
Hasta que suelta el control

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Primero llegado, primero servido (FCFS)

Figura: Primero llegado, primero servido (FCFS)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Primero llegado, primero servido (FCFS)

Proceso
Inicio Fin
T
A
0
3
3
B
3
8
7
C
8 10
7
D
10 15
6
E
15 20
8
Promedio
6.2

E
P
0
1
2 1.4
5 3.5
1 1.2
3 1.6
2.2 1.74

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Primero llegado, primero servido (FCFS)


La sobrecarga administrativa es mnima
El algoritmo es extremadamente simple: una cola FIFO
Efecta el mnimo posible de cambios de contexto
No requiere hardware de apoyo (temporizador /
interrupciones)
Principio de histresis (Finkel): Hay que resistirse al
cambio

El rendimiento percibido por los ltimos procesos


disminuye
Los procesos cortos pueden esperar
desproporcionadamente mucho tiempo
La demora aumenta fuertemente conforme crece

Tendencia a la inanicin cuando 1

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda (Round Robin)

Busca dar buena respuesta tanto a procesos cortos como


largos
Requiere multitarea preventiva
Ejecutamos cada proceso por un quantum
Si no termin su ejecucin, se interrumpe y coloca de
vuelta al final de la cola
Los procesos nuevos se forman tambin al final de esta
misma cola

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda (Round Robin)

Figura: Ronda (Round Robin)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda (Round Robin)

Proceso
Inicio Fin
A
0
6
B
1 11
C
4
8
D
9 18
E
12 20
Promedio

T
E
P
6
3 2.0
10
5 2.0
5
3 2.5
9
4 1.8
8
3 1.6
7.6 3.6 1.98

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda (Round Robin)

Alta frecuencia de cambios de contexto


A pesar de que el algoritmo es simple, la sobrecarga
administrativa (burocracia) es alta

Puede modificarse incrementando el quantum


Reduce la frecuencia de cambios de contexto
Para valores grandes de q, tiende a convertirse en FCFS

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda (Round Robin) con q = 4

Figura: Ronda (Round Robin), con q = 4

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda (Round Robin) con q = 4

Proceso
Inicio Fin
T
E
P
A
0
3
3
0 1.0
B
3 10
9
4 1.8
C
7
9
6
4 3.0
D
10 19 10
5 2.0
E
14 20
8
3 1.6
Promedio
7.2 3.2 1.88

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

El proceso ms corto a continuacin (SPN)

Shortest Process Next


Multitarea cooperativa
Pero requerimos un algoritmo ms justo que FCFS
Sabemos cunto tiempo va a requerir cada proceso
No por magia: Podemos estimar / predecir basados en su
historia
SPN puede mantener la contabilidad de los procesos
incluso tras entregarlos de vuelta al agendador

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Estimando para SPN: Promedio exponencial

Es comn emplear un promedio exponencial para estimar la


siguiente demanda de tiempo de p: Si en su ltima invocacin
emple q quantums,
ep0 = fep + (1 f )q
Donde 0 f 1 es el factor atenuante, determinando qu
tan reactivo ser el promedio a cada cambio.
Es comn que f 0,9

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Estimando para SPN: Promedio exponencial

Figura: Promedio exponencial (prediccin de prxima solicitud de


tiempo) de un proceso. (Silberschatz, p.183)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

El proceso ms corto a continuacin (SPN)

Figura: El proceso ms corto a continuacin (SPN)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

El proceso ms corto a continuacin (SPN)

Proceso
Inicio Fin
T
E
P
A
0
3
3
0 1.0
B
5 10
9
4 1.8
C
3
5
2
0 1.0
D
10 15
6
1 1.2
E
15 20
8
3 1.6
Promedio
5.6 1.6 1.32

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

El proceso ms corto a continuacin (SPN)

Obviamente, SPN favorece a los procesos cortos


Un proceso largo puede esperar mucho tiempo antes de
ser atendido
Con alto, los procesos largos sufren inanicin

Con una cola de procesos listos chica, el resultado es


similar a FCFS
Pero vimos que una sla permutacin entre el rden de
B y C redujo fuertemtente los factores de penalizacin

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Variaciones sobre SPN: SPN preventivo (PSPN)

Emplea la estrategia de SPN, pero interrumpe cada


quantum
Finkel observa que la penalizacin a procesos largos no es
mucho peor que la de la ronda
Mantiene mejores promedios, porque los procesos cortos
salen ms temprano de la cola.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Variaciones sobre SPN: El ms penalizado a


continuacin (HPRN)
Highest Penalty Ratio Next
Multitarea cooperativa
Las alternativas (FCFS y SPN) parecen injustas para
muchos proesos
Busca otorgar un mejor balance

Todos los procesos incian con un valor de penalizacin


P =1
Cada vez que un proceso es obligado a esperar un tiempo
w por otro, P = w t+t (acumulando w )
Se elige el proceso cuyo valor de P sea mayor

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

El ms penalizado a continuacin (HPRN)

Mientras < 1, HPRN evita inanicin incluso en procesos


largos
Finkel apunta que, ante la experimentacin, HPRN se
ubica siempre entre FCFS y SPN
Principal desventaja: Es un algoritmo caro
Cuando hay muchos procesos en la cola, P tiene que
calcularse para todos ellos a cada invocacin del
despachador

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)


Multilevel Feedback
Multitarea preventiva
Se crea no una, sino varias colas de procesos listos
Cada cola con un distinto nivel de prioridad, CP

El despachador toma el proceso al frente de la cola de


ms prioridad
Tras n ejecuciones, el proceso es degradado a CP+1
Favorece a los procesos cortos
Terminan su trabajo sin ser marcados como de prioridad
inferior

El algoritmo es barato
Slo hay que actualizar a un proceso a cada ejecucin, y
evaluar un nmero limitado de colas

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)

Figura: Retroalimentacin multinivel (FB) bsica. En la lnea


superior al proceso se muestra la cola antes del quantum en que se
ejecuta.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)

Fenmenos observados:
Al tick 8, 10, 11, 13, 14, el despachador interrumpe al proceso
activo y lo vuelve a programar
En una implementacin ingenua, esto causa un cambio de
contexto
Burocracia innecesaria

Puede prevenirse esta interrupcin?

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)

Proceso
Inicio Fin T E
A
0
7 7 3
B
1 18 17 12
C
3
6 3 1
D
9 19 10 5
E
12 20 8 3
Promedio
9 5

P
2.3
3.4
1.5
2.0
1.6
2.16

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)


Pero todos los nmeros apuntan a que es una peor
estrategia que las anteriores!
Los nicos beneficiados son los recin llegados
Entran a la cola de mayor prioridad
Un proceso largo, a mayor , enfrenta inanicin

El rendimiento del algoritmo puede ajustarse con dos


variables bsicas:
n Cuntas ejecuciones para ser degradado a
CP+1
Q Duracin del quantum de las siguientes colas
Veamos cmo se comporta cuando:
Mantenemos n = 1
Q = 2nq (donde q es la duracin del quantum base)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)

Figura: Retroalimentacin multinivel (FB) con Q exponencial

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)

Fenmenos observados:
Aunque FB favorece a los procesos recin llegados, al tick
3, 9 y 10 los procesos que llegan son puestos en espera
Llegaron a la mitad del quantum largo de otro proceso

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)

Proceso
Inicio Fin T E
P
A
0
4 4 1 1.3
B
1 10 9 4 1.8
C
4
8 5 3 2.5
D
10 18 9 4 1.8
E
13 20 8 3 1.6
Promedio
7 3 1.8

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)


Con Q exponencial, los promedios resultan incluso
mejores que ronda
Tpicamente los incrementos son ms suaves Q = nq
o incluso q = q log(n)
Un proceso largo con Q exponencial puede causar
inanicin por largo tiempo

Para evitar la inanicin ante un alto, puede considerarse


la retroalimentacin en sentido inverso
Si un proceso largo es degradado a CP y pasa demasiado
tiempo sin ejecutarse, promoverlo de vuelta a CP1

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel (FB)

El mecanismo es muy flexible, y permite muchas mejoras


simples
Hoy en da es empleado por muchos de los principales
sistemas operativos
FreeBSD, Linux (pre-2.6), MacOS X, NetBSD, Solaris,
Windows (2000 en adelante) (ref: Wikipedia Scheduling
algorithm)
Con diferentes parmetros y prioridades

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda egosta (SRR)


Selfish Round Robin
Multitarea preventiva
Favorece a los proesos que ya llevan tiempo ejecutando
sobre los recin llegados
Un proeso nuevo se forma en la cola de procesos nuevos,
el despachador avanza slo sobre los procesos aceptados

Parmetros ajustables:
a Ritmo de incremento de prioridad de
procesos aceptados
b Ritmo de incremento de prioridad de
procesos nuevos
Cuando la prioridad de un proceso nuevo alcanza a la de
uno aceptado, ste se acepta.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda egosta (SRR)

Figura: Ronda egosta (SRR) con a = 2 y b = 1

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda egosta (SRR)

Proceso
Inicio Fin
T
E
P
A
0
4
4
1 1.3
B
2 10
9
4 1.8
C
6
9
6
4 3.0
D
10 15
6
1 1.2
E
15 20
8
3 1.6
Promedio
6.6 2.6 1.79

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda egosta (SRR)


Mientras

b
a

< 1:

Los procesos nuevos sern aceptados eventualmente


Si el control va alternando entre dos procesos, su
prioridad se mantendr igual, y sern despachados por
ronda simple

Si ba 1, el proceso en ejecucin terminar antes de que


se acepte el nuevo
Tiende a FCFS

Si

b
a

= 0 (esto es, si b = 0)
Los procesos recin llegados son aceptados
inmediatamente
Tiende a ronda

Si 0 <

b
a

< 1, la ronda es relativamente egosta

Se da entrada a procesos nuevos


Incluso si hay procesos muy largos ejecutando

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Clasificando a los distintos esquemas

Los siete algoritmos presentados pueden caracterizarse sobre


dos descriptores primarios
Tipo de multitarea si el esquema est planteado para operar
bajo multitarea preventiva o cooperativa
Emplea informacin intrnseca Si, para tomar cada decsin de
planificacin, emplean informacin propia
(intrnseca) a los procesos evaluados, o no
Esto es, si el historial de ejecucin de un proceso
tiene impacto en cmo ser planificado a futuro.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Clasificando a los distintos esquemas


Cuadro: Caracterizacin de los mecanismos de planificacin a corto
plazo

Cooperativa

Preventiva

No considera
intrnseca
Primero llegado
primero servido
(FCFS)

Considera
intrnseca
Proceso ms
corto (SPN),
Proceso ms
penalizado (HPRN)
Ronda (RR),
Proceso ms
Retroalimentacin (FB), corto preventivo
Ronda egosta (SRR)
(PSPN)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

ndice

Introduccin

Mtricas

Algoritmos de planificacin

Esquemas hbridos y prioridades externas

Resumiendo y temas relacionados

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Esquemas hbridos

Los esquemas de planificacin empleados normalmente


usan mezclas de los algoritmos presentados
Permite emplear el algoritmo que ms ventajas presente
ante una situacin dada
Y evitar algunas de sus deficiencias

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Esquemas hbridos: Algoritmo por cola en FB


Manejamos varias colas en un esquema FB
Cada cola usa internamente un algoritmo distinto para
elegir el proceso que est a la cabeza. Algunas ideas como
ejemplo:
Una cola bajo PSPN: Empuja a los procesos ms largos
hacia colas que sean interrumpidas con menor frecuencia
Emplear SRR para las colas de menor prioridad
Sus procesos ya esperaron mucho para tener respuesta;
cuando obtienen el procesador, avanzan lo ms
gilmente posible
Pero no obstaculizan a los procesos cortos que van
llegando

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Esquemas hbridos: Dependientes del estado del


sistema

Podemos considerar tambin informacin extrnseca para


despachar
Informacin externa al estado y ejecucin de cada uno de
los procesos
Informacin dependiente del estado del sistema, del tipo
de usuario, etc.

A continuacin, algunos ejemplos

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

FCFS/SPN o RR, dependiendo de

Si los procesos son en promedio cortos y < 1


Mtodos con la mnima sobrecarga administrativa (FCFS
o SPN)
O un RR con quantum muy largo (evitando los
problemas de la multitarea cooperativa)

Si los procesos tienden a ser ms largos o si sube


Cambiamos a RR con un quantum ms bajo o a PSPN

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda con quantum dependiente de procesos


pendientes
Esquema simple de ronda
La duracin de un quantum es ajustada peridicamente
Cada quantum depende de la cantidad de procesos en el
total de procesos listos, siguiendo Q = qn
Pocos procesos esperando
Mayor Q Menos cambios de contexto

Muchos procesos esperando


Menor Q
Nunca ms all de un minimo, para evitar sobrecarga
burocrtica

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ronda + Prioridad externa

Usamos un esquema simple de ronda, con una sola cola


La duracin del quantum depender de la prioridad
externa
Fijada por el usuario o por el sistema por factores ajenos
al despachador

Un proceso de mayor prioridad ejecutar por mayor


tiempo

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Peor servicio a continuacion (WSN)


Generalizacin sobre HPRN
No slo se considera penalizacin el tiempo esperado en
la cola de procesos listos
Veces que ha sido interrumpido por el temporizador
Prioridad externa
Espera por E/S u otros recursos

El proceso que ha sufrido peor servicio es seleccionado


para su ejecucin
Desventaja: Considerar demasiados factores (con distintos
pesos) impacta en el tiempo de ejecucin del algoritmo
Puede llamarse a WSN peridicamente para formar colas
Proceder con esquemas ms simples
. . . Aunque esto reduce la velocidad de reaccin

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Lindura (niceness)
Empleado por varios Unixes histricos
El usuario inicia (nice) o modifica (renice) la
prioridad de su proceso
Tpicamente slo hacia arriba Se porta ms lindo.

Esta prioridad externa y el tiempo consumido


recientemente por el proceso constituyen una prioridad
interna
La prioridad interna aumenta cuando el proceso espera
Por el despachador, por E/S, o cualquier otra causa

La prioridad interna es matizada por el tamao de la cola


de procesos listos
Entre ms procesos pendientes, mayor el peso que
modifique a la prioridad

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

ndice

Introduccin

Mtricas

Algoritmos de planificacin

Esquemas hbridos y prioridades externas

Resumiendo y temas relacionados

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Sobrecarga administrativa

Figura: Sobrecarga administrativa de los planificadores de corto


plazo (Finkel, p.33)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Tiempo perdido por sobrecarga adm.

Figura: Tiempo perdido por sobrecarga administrativa por


planificador de corto plazo (Finkel, p.34)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Duracin mnima del quantum

Vimos que la penalizacin en la ronda puede evitarse con


quantums mayores
Pero puede degenerar en multiprocesamiento cooperativo

Qu tan corto debe ser un quantum?

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Duracin mnima del quantum


Duracin de cambio de contexto hoy en da: 0,01ms
(Silberschatz p.187)
1
la duracin del
Con un quantum corto, 10ms, es 1000
tiempo efectivo de procesamiento
1
Con un quantum largo, 200ms, 20000

No es realmente significativo Ni debe serlo!


Perder 1 % del tiempo de cmputo en burocracia sera en
general visto como excesivo
Ojo: El tiempo ncleo no slo es el tiempo del cambio
de proceso!

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Compartir el procesador
Estrategia empleada por Control Data (CDC6600, 1964,
diseada por Seymour Cray): Multitarea gestionada en
hardware
Un slo procesador, pero con 10 juegos de registros
Procesador superescalar

A cada paso de reloj, avanzaba el juego de registros


Quantum efectivo igual a la velocidad del reloj
Apariencia de 10 procesadores ms lentos, cada uno de
1
10 la velocidad del real
Multitarea sin cambios de contexto

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Compartir el procesador

Desventajas?
Nivel de concurrencia fijo
Difcil de adecuar a picos de ocupacin
Costo muy elevado

Esquema comparable con el HyperThreading de


procesadores actuales
Aunque HyperThreading busca aprovechar las diferentes
fases del pipeline, que no exista en 1964

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Relacin entre hilos y procesos

Cmo entiende el despachador a los hilos?


Tres modelos principales de mapeo:
Muchos a uno
Uno a uno
Muchos a muchos

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Muchos a uno

Figura: Mapeo de hilos muchos a uno (imagen: Beth Plale)

Hilos verdes (o de usuario)


El SO ve un slo proceso
El tiempo se reparte dentro del proceso por mecanismos
internos

Cdigo ms portable
No se aprovecha realmente el paralelismo
Llamadas bloqueantes Todos esperan

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Uno a uno

Figura: Mapeo de hilos uno a uno (imagen: Beth Plale)

Cada hilo es un proceso ligero (lightweight process, LWP)


Un LWP es mucho ms ligero de levantar que un proceso
Comparte memoria, descriptores, estructuras

Aprovecha tanto el paralelismo como lo permita el


hardware
Cada hilo puede correr en un procesador distinto, si los
hay

El SO debe poder manejar LWP

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Muchos a muchos

Figura: Mapeo de hilos muchos a muchos (imagen: Beth Plale)

Existen hilos unidos (bound threads), que corresponden


cada uno a un LWP
Tambin hilos no unidos (unbound threads), donde uno o
ms corresponden a cada LWP
Brindan la flexibilidad de ambos modelos
Si el SO no maneja LWP, pueden caer en el modelo uno
a muchos como modo degradado

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

El mbito de contencin
Recibe cada uno de los hilos la misma atencin que recibira
un proceso? Hay dos enfoques (categorizacin de hilos POSIX,
pthread):
mbito de contencin de sistema (System Contention
Scope, SCS)
mbito de contencion de proceso (Process Contention
Scope, PCS)
El mbito de contencin se refiere a cul ser la estructura
dentro de la cual coexisten los hilos, y dentro de la cual cada
hilo contender por el procesador.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

mbitos de contencin
PTHREAD_SCOPE_SYSTEM
PTHREAD_SCOPE_PROCESS
Todos los hilos son
atendidos en el tiempo
Cada hilo es visto por el
que sera asignado a un
planificador como un
slo proceso
proceso independiente
Modelo muchos a uno, as
Modelo uno a uno y los
como los hilos no unidos
hilos unidos en muchos a
multiplexados en muchos
muchos
a muchos
. . . Pero una implementacin pthreads puede ofrecer slo
uno de los modelos Tanto Linux como Windows manejan
slo PTHREAD_SCOPE_SYSTEM (SCS).

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Otras caractersticas en pthreads

pthreads incluyen varios de los otros aspectos


mencionados en esta unidad
El programador puede solicitar al ncleo la prioridad de
cada uno de los hilos por separado
(pthread_setschedprio)
Incluso solicitar el empleo de un algoritmo de planificacin
en especfico (sched_setscheduler)
Recordemos que pthreads permite, en muchos casos,
responder al proceso Disculpa, no puedo hacer eso

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Multiprocesamiento

Qu factores relativos a la planificacin tenemos que


considerar cuando hablamos de un entorno multiprocesado?

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Multiprocesamiento: Afinidad
Cuando un proceso se ejecut por cierto tiempo, dej
porciones de su espacio de memoria en el cach del
procesador
Tanto segmentos de instrucciones como de datos

Cada procesador tiene usualmente un cach


independiente
Puede haber un cach comn a todo el sistema (L3);
puede haber uno por chip multicore (L2), y puede haber
uno especfico para cada ncleo (L1)

Despachar a un proceso en un procesador distinto del que


ya lo ejecut es un gasto intil
Invalidar el cach que emple
Re-poblar el nuevo

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Multiprocesamiento: Afinidad
Afinidad suave Un proceso que preferentemente ser
ejecutado en un determinado procesador
Ciertos patrones de carga pueden llevar a que el
despachador decida migrarlo a otro procesador
Afinidad dura Se garantiza que un proceso ser ejecutado
siempre en un procesador (o conjunto de
procesadores)
Ejemplo: En un entorno NUMA, buscamos que los procesos
tengan afinidad dura (y que el algoritmo de asignacin de
memoria considere dicha relacin)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Multiprocesamiento: Balanceo de cargas

La situacin ideal es que todos los procesadores


despachen trabajos al 100 % de su capacidad
Pero es un requisito demasiado rgido / irreal
(casi) siempre habr un procesador con tiempo libre
(casi) siempre habr procesadores con procesos encolados
y en espera
. . . O ambas situaciones

Para mantener la divergencia lo menor posible, se emplea


el balanceo de cargas

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Multiprocesamiento: Balanceo de cargas

El balanceo de cargas acta en sentido contrario de la


afinidad al procesador
Algoritmos que analizan el estado de las colas y
transfieran procesos entre ellas para homogeneizarlas

Puede reubicar procesos con afinidad suave


Debe preferir reubicar procesos sin afinidad declarada
No debe reubicar procesos con afinidad dura

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Estrategias de balanceo de cargas: Por empuje

Balanceo de cargas por empuje (push migration)


El ncleo revisa peridicamente el estado de los
procesadores
Si el desbalance sobrepasa cierto umbral, empuja a
algunos procesos de una cola a otra.
Linux ejecuta esto cada 200ms.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Estrategias de balanceo de cargas: Por jaln


Balanceo de cargas: Por jaln (pull migration)
Cuando un procesador queda sin tareas pendientes,
ejecuta el proceso especial desocupado (idle)
Desocupado no significa no hacer nada: Puede ejecutar
tareas del ncleo
Puede averiguar si hay procesos en espera con otro
procesador, y jalarlos al actual.
Los mecanismos no son mutuamente exclusivos, es comn que
un SO emplee ambos.
Todo balanceo de cargas conllevar una penalizacin en
trminos de afinidad al CPU.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Multiprocesamiento: Una cola o varias?


En un entorno multiprocesador, cmo encaramos los
algoritmos antes descritos?
Una cola global
Parecera una decisin ms simple
Se ejecuta un slo despachador Ahorro de tiempo
No habra que preocuparse por balanceo de cargas
Sera natural

Una cola por procesador


Necesaria si queremos soportar manejo de afinidad al
CPU
Todos los sistemas en uso amplo implementan una cola
por procesador

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Hilos hardware (hyperthreading)

Hilos es una palabra que sufre abuso en nuestro campo.


Hilos hardware (hyperthreading): No tienen relacin con
los hilos que abordamos
Pero s con el multiprocesamiento

La Ley de Moore no slo ha llevado a un paralelismo


expreso (multincleo)
El pipeline de los procesadores hace que cada unidad
funcional del CPU pueda estar atendiendo a una
instruccin distinta

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Hilos hardware (hyperthreading): Pipelines


Un procesador simple/clsico (ejemplo: MIPS) puede
dividir la ejecucin de una instruccin en 5 etapas:
IF Recuperacin de la instruccin (Instruction
Fetch)
ID Decodificacin de la instruccin (Instruction
Decode)
EX Ejecucin (Execution)
MEM Acceso a datos
WB Almacenamiento (Writeback)
Un procesador moderno presenta mucho ms etapas
(Pentium 4: 20 etapas)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Hilos hardware (hyperthreading): Pipelines

Figura: Descomposicin de una instruccin en sus cinco pasos


clsicos para organizarse en un pipeline

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Hilos hardware (hyperthreading): Pipelines


Es comn que se presenten patrones de uso que requieren
servicio de diferentes componentes del procesador
A veces con diferentes duraciones
Lleva a la insercin de demasiadas burbujas Prdida
de tiempo

Para remediarlo, un slo procesador (un solo ncleo) se


presenta como compuesto de dos o ms hilos hardware
Conocidos en el mercado como hyper-threads
Puede aumentar el paralelismo aunque es muy
improbable que sea en 2x!

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Hilos hardware (hyperthreading): Pipelines

Figura: Alternando ciclos de cmputo y espera por memoria, un


procesador que implementa hilos hardware (hyperthreaded) se
presenta como dos procesadores

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Hilos hardware (hyperthreading): Pipelines


Puede profundizarse mucho ms en la planificacin de
hilos hardware
Corresponde ms bien al estudio de construccin de
compiladores
Y de arquitecturas de sistemas
Consideraciones de seguridad entre hilos

Presenta gran similitud (aunque no es lo mismo) con la


comparticin de procesador
No ahondaremos en el tema en este curso
Se presenta para aclarar el concepto

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Tiempo real

Nos hemos enfocado a repartir el tiempo disponible entre


varios procesos
No hemos tocado a los procesos que requieren garantas
de tiempo
Para poder realizar su trabajo, tienen que recibir
determinado tiempo de procesador antes de un tiempo
lmite

Estos procesos son conocidos como de tiempo real

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Cundo nos enfrentamos con el tiempo real?


Controladores de dispositivos
Entregan un determinado bloque de informacin cada
tanto tiempo
Si ese bloque no es procesado completo, se sobreescribe
por el siguiente

Reproductores o recodificadores de audio y video


Si un cuadro se pierde, el resultado puede escucharse
Sea como una demora (reproduccin) o como un corte
(recodificacin)

Procesadores de criptografa
Si un bloque se pierde, el documento completo de ese
punto en adelante puede quedar corrupto

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Reserva de recursos

Para poder manejarse como de tiempo real, un proceso


debe declarar de inicio cunto tiempo requerir
Puede ser una sola vez: Necesito 600ms en los prximos
2s
Puede ser peridico: Cada segundo necesito 30ms

El sistema operativo le asignar el tiempo solicitado, o le


notificar que no puede garantizrselo
Mensaje de error El proceso puede intentar continuar
de todos modos sin prioridad especial

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Tiempo real duro y suave

Tiempo real duro El sistema puede dar garanta de que el


proceso tendr el tiempo que reserv
Tiempo real suave El sistema intentar dar la prioridad
requerida al proceso, pero puede haber pequeas
demoras

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Restricciones del tiempo real duro

El planificador debe saber con certeza cunto tiempo


toman todas las tareas de sistema que ejecutar en el
periodo
Algunos dispositivos introducen demoras con demasiada
varianza
Almacenamiento en disco
Memoria virtual

Imposibilitan que un sistema que los maneje implemente


tiempo real duro

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Tiempo real suave: Prioridad del planificador

Los procesos de tiempo real simplemente reciben una


prioridad mucho ms alta ante el planificador
Los procesos de tiempo real pueden llevar a la inanicin
de otros procesos
Es esperable y aceptable No debemos correr tantos
procesos de tiempo real! (rompera expectativas)

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Retroalimentacin multinivel y tiempo real suave


Puede implementarse con una modificacin al esquema de
retroalimentacin multinivel
La cola de tiempo real recibe prioridad sobre todas las
dems colas
La prioridad de un proceso de tiempo real no se degrada
conforme se ejecuta repetidamente
Aunque puede indicar que ya termin con su trabajo
sensible a tiempo

La prioridad de los dems procesos nunca llegan a subir al


nivel de tiempo real por un proceso automtico
Aunque s puede hacerse por una llamada explcita

La latencia de despacho debe ser mnima


Casi todos los sistemas operativos hoy en da presentan
facilidades bsicas de tiempo real suave.

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Sistema operativo interrumpible (prevenible)


Hay llamadas al sistema que toman demasiado tiempo
Para poder ofrecer tiempo real suave con buenas
expectativas, hay que poder interrumpir al propio ncleo
Primer enfoque: Puntos de interrupcin
Marcar explcitamente puntos en que todas las
estructuras estn en un estado estable

No muy eficiente: Hay pocos puntos aptos para declarar


puntos de interrupcin
Muy rgido, dificil estructurar para poner puntos
adicionales

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Ncleo completamente interrumpible

Otro enfoque: Proteger a todas las modificaciones a


estructuras internas del ncleo con mecanismos de
sincronizacin
Enfoque mucho ms flexible
Hace que el sistema operativo completo sea ms lento
(aunque ms seguro)
Ms operaciones a hacer por cada solicitud

Permiten que funciones del SO puedan correr como hilos


concurrentes en los distintos procesadores

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Inversin de prioridades
Un proceso A de baja prioridad hace una llamada al
sistema
Es interrumpido a la mitad de la llamada

Un proceso B de prioridad tiempo real hace una segunda


llamada al sistema
Requiriendo de la misma estructura que la que tiene
bloqueada A

B quedar esperando hasta que A vuelva a ser agendado


Esto es, B fue, para propsitos prcticos, degradado a la
prioridad de A

Introduccin Mtricas Algoritmos de planificacin Esquemas hbridos y prioridades externas Resumiendo y temas relac

Inversin de prioridades: Herencia de prioridades

Mecanismo introducido por Solaris 2


Si A bloquea a B y PA < PB
PA := PB hasta que B libere el recurso
Pasado el bloqueo, PA vuelve a su estado nativo

Das könnte Ihnen auch gefallen