Professional Documents
Culture Documents
Captulo 5
Planificacin
Secciones Stallings:
9.1, 9.2 (hasta pg. 421), 9.3
Planificacin
Propsito
Tipos de planificacin:
Largo plazo
Medio plazo
Corto plazo
E/S
Criterios:
Orientados al usuario
Orientados al sistema
Prioridades
Polticas de planificacin
gjhgjh
Propsito de la planificacin
Propsito de la planificacin
Asignar procesos al planificador de modo
que se consiga:
Mejorar tiempos de respuesta
Aumentar productividad
Optimizar eficiencia del procesador y de
dispositivos de E/S.
gjhgjh
Tipos de Planificacin
Planificacin a largo plazo
Decisin de aadir procesos al conjunto de procesos a
ejecutar
Planificacin de E/S
Decisin sobre qu solicitud de E/S pendiente ser
tratada por un dispositivo de E/S disponible
(Gestin E/S Stallings 11)
Nuevo
Planificacin
Planificacin
a largo plazo
a largo plazo
Listo/
suspendido
Bloqueado/
suspendido
Ejecutando
Listo
Planificacin
Planificacin
a medio plazo
a corto plazo
Salida
Planificacin a
largo plazo
Bloqueado
gjhgjh
Ejecutando
Listo
Bloqueado
Corto plazo
Bloqueado
suspendido
Listo
suspendido
Medio plazo
Largo plazo
Nuevo
Salida
gjhgjh
Qu procesos incluir?
Algoritmos de planificacin
Simples (e.g., FIFO-FCFS)
Por rendimiento del sistema: prioridades, carga procesador,
carga E/S, recurso E/S a solicitar, ...
gjhgjh
Planificacin
a largo plazo
Trabajos
por lotes
Tiempo de guarda
Cola de listos
Planificacin
a corto plazo
Terminacin
Procesador
Planificacin
a medio plazo
Usuarios
interactivos
Ocurre
un suceso
Planificacin
a medio plazo
Ocurre
un suceso
Cola de bloqueados
Espera de un suceso
gjhgjh
Criterios de la planificacin
interrupcin
Creacin (1)
Listo (2)
Planificador
Procesos
En ejecucin
(3)
Salida (5)
Asignacin
En espera
(bloqueado)
(4)
1
P1
P2
T 0
t1
t2
t3 t4
t5
t6
t7 t8 t9 t11
t10
100
Orientados al sistema
Cuantitativos (rendimiento)
Cualitativos
gjhgjh
Tiempo de respuesta
Desde que se emite solicitud hasta que la respuesta aparece en
la salida.
Apropiada para procesos interactivos
Plazos
Si hay plazos, maximizar porcentaje de plazos cumplidos.
Caminos crticos: a seguir si se quieren cumplir los requisitos.
gjhgjh
Uso de prioridades
Planificador selecciona, segn un algoritmo
de planificacin, siempre proceso de mayor
prioridad antes que menor prioridad
Mltiples colas de Listos:
una/nivel de prioridad
Procesos de prioridad ms baja podran
sufrir inanicin. Solucin:
Permitir que un proceso cambie su prioridad en
funcin de su edad o su historial de ejecucin.
Colas de prioridad
RQ0
Expedir
Terminar
RQ1
Entrar
RQn
Expulsin
Ocurre un
Suceso Cola de Bloqueados
Espera de Suceso
gjhgjh
Tema 5: Planificacin
Propsito
Tipos y alcance:
A largo plazo
A medio plazo
A corto plazo Algoritmos de planificacin
Criterios:
Orientados al usuario
Orientados al sistema
Prioridades
Polticas de planificacin
Polticas de planificacin
Definiciones:
Funcin de seleccin:
cmo seleccionar siguiente proceso a ejecutar
Modo de seleccin:
momento en que se aplica la funcin de seleccin
10
gjhgjh
Polticas de planificacin
Funcin de seleccin: cmo seleccionar
siguiente proceso a ejecutar
Prioridades
Necesidades de recursos
Caractersticas de ejecucin:
tiempo en el sistema, tiempo ejecutado, tiempo total
estimado
Modo de decisin
Termina
Se bloquea en espera de E/S
Solicita servicio de SO
Nuevo proceso
Proceso pasa de bloqueado a listo (interrupcin)
Interrupcin de reloj
11
gjhgjh
12
gjhgjh
Proceso
FCFS (FIFO)
Proceso
Llegada
10
15
20
Servicio
A
B
C
D
E
13
gjhgjh
FCFS
Es tericamente justo, pero poco eficiente en
tiempo de espera medio.
Penaliza los procesos cortos.
1
P1
P2
P3
T 0
1
80
90
100
5
P1
P2
P3
FCFS
Efecto convoy:
Dominio de procesos con carga de CPU frente a
los que hacen uso de E/S. Posible uso ineficiente
no solo de CPU sino tambin de los dispositivos de
E/S.
1
P1
P2
P3
1
P1
P2
P3
14
gjhgjh
FCFS
Por s misma, no til para
monoprocesadores
Planificacin efectiva combinada con colas
de prioridades
Planificacin realimentada
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
15
gjhgjh
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
16
gjhgjh
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
17
gjhgjh
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
18
gjhgjh
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
20
Rfaga CPU
2
4
1
2
25
30
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
19
gjhgjh
FCFS
Proceso
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
FCFS
Proceso
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
20
gjhgjh
Proceso Llegada
10
15
20
Servicio
A
B
C
D
E
21
gjhgjh
Round Robin
Peridicamente, se genera interrupcin de
reloj
Diseado especficamente para sistemas de
tiempo compartido
Se asigna un cuanto de tiempo (10-100 ms.) de
igual duracin a todos los procesos listos para
ser ejecutados
P1
P2
P3
P4
T
0 1 2 3
12
1516
19
21 23
26
22
gjhgjh
Round Robin
Parmetro crtico de diseo: longitud del cuanto
Si muy pequeo, procesos cortos pasan rpidamente,
pero sobrecarga del procesador (gestin interrupciones
de reloj, planificacin, expedicin)
Si muy grande, degenera en FCFS
Referencia: debe ser algo mayor que el tiempo necesario
para una interaccin normal
Efectivo en sistemas de carcter general, tiempo
compartido, procesos de transacciones
Favorece procesos con carga de procesador vs. procesos
con carga de E/S (stos no aprovechan el cuanto).
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
A
B
C
D
E
En ejecucin
Listo
Sin cargar
23
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
A
B
C
D
E
En ejecucin
Listo
Sin cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
A
B
C
D
E
A
En ejecucin
Listo
Sin cargar
24
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
A
B
C
D
E
AB
En ejecucin
Listo
Sin cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
5
A
B
C
D
E
AB C
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
25
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
5
A
B
C
D
E
AB CB
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
5
A
B
C
D
E
AB CBA
D
C
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
26
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
5
A
B
C
D
E
AB C B AD
DC
CB
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
5
A
B
C
D
E
AB C B ADC
DCB
CBE
A
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
27
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
10
A
B
C
D
E
AB C B ADC B
DCBE
CBEA
AD
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
10
A
B
C
D
E
AB C B ADC B E
DCBEA
CBEAD
ADC
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
28
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D C
D C B E AD C B E D C B
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D CB
D C B E AD C B E D C B D
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
29
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D CB D
D C B E AD C B E D C B D E
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D CB DE
D C B E AD C B E D C B D E
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
30
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D CB DE D
D C B E AD C B E D C B D E
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D CB DE DE
D C B E AD C B E D C B D E
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
31
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D CB DE DE C
D C B E AD C B E D C B D E
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D C B DE DE C
D C B E AD C B E D C B D E
C B E A DC B E D C B
ADCBE
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
32
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
AB C B ADC B E ADC B E D C B DE DE C
D C B E AD C B E D C B D E
C B E A DC B E D C B
33
gjhgjh
0
Proceso
Llegada
10
15
20
Servicio
A
B
C
D
E
SPN
Estimaciones:
Trabajos por lotes o repetitivos:
estimacin del programador o estadsticas
en funcin de tiempos de ejecucin pasados
=> miramos suma de rfagas en la tabla
Si procesos interactivos
en lugar de tiempo de trabajo, tiempo de cada rfaga
(se supone que siguen una distribucin uniforme)
=> calculamos en funcin de rfagas pasadas
(media o con alfa) Sn+1 = tn + (1- ) Sn
0< < 1
34
gjhgjh
SPN
Normalmente se utiliza promedio exponencial:
Sn+1 = tn + (1- ) Sn
0< < 1
S1 : valor pronosticado (no calculado). Puede
eliminarse en sucesivos clculos o sustituirse por T1
Si tiende a 1 se reflejan rpidamente los
cambios, pero si son efectos aislados desestabilizan
la media ms tiempo.
Conviene dar ms peso a los valores ms recientes
SPN
1 n t
1 tn
1 n-1t
1 tn n-1 1 n-1t
Sn+1 =
=
+ i=1 i =
+
n i=1 i
n
n
n
n n-1 i=1 i
Sn =
1 n-1
t
n-1 i=1 i
Sn+1 =
1 tn n-1
+
S
n
n n
Mismo peso a
todos los casos
35
gjhgjh
0
Proceso
Llegada
10
15
20
Servicio
A
B
C
D
E
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma = 5
Suma = 6
Suma = 8
Suma = 6
Suma = 4
A
B
C
D
E
En ejecucin
Listo
Sin cargar
36
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma = 5
Suma = 6
Suma = 8
Suma = 6
Suma = 4
A
B
C
D
E
En ejecucin
Listo
Sin cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
5
A
B
C
D
E
Terminado
Sin Cargar
37
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
10
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
10
A
B
C
D
E
Terminado
Sin Cargar
38
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
15
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
20
A
B
C
D
E
Terminado
Sin Cargar
39
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
20
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
25
A
B
C
D
E
Terminado
Sin Cargar
40
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
25
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
40
45
A
B
C
D
E
Terminado
Sin Cargar
41
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Suma A = 5
Suma B = 6
Suma C = 8
Suma D = 6
Suma E = 4
40
45
A
B
C
D
E
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
40
45
A
B
C
D
E
(proceso interactivo)
Varias formas para estimar tiempo inicial de proceso nuevo:
- No sabemos nada sobre las rfagas: S1 = 0 (los procesos nuevos son preferentes)
- Tomando S1= T1 (problema: hay que saber el T1)
- Tomando S1 = CTE (ej: media de las rfagas de procesos interactivos anteriores
en el sistema)
42
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est. A = 3
Est. B = 0
Est. C = 0
Est. D = 0
Est. E = 0
40
45
A
B
C
D
E
S1 = 0
(proceso interactivo)
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est. A = 3
Est. B = 6
Est. C = 4
Est. D = 0
Est. E = 0
40
45
A
B
C
D
E
(proceso interactivo)
S1 = 0
43
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est. A = 3
Est. B = 6
Est. C = 4
Est. D = 5
Est. E = 0
40
45
A
B
C
D
E
S1 = 0
(proceso interactivo)
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est. A = 3
Est. B = 6
Est. C = 4
Est. D = 5
Est. E = 2
40
45
A
B
C
D
E
(proceso interactivo)
S1 = 0
44
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est. A = 3
Est. B = 6
Est. C = 4
Est. D = 5
Est. E = 2
40
45
A
B
C
D
E
S1 = 0
(proceso interactivo)
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est. A = 3
Est. B = 6
Est. C = 4
Est. D = 5
Est. E = 2
40
45
A
B
C
D
E
(proceso interactivo)
S1 = 0
45
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est. A = 3
Est. B = 6
Est. C = 4
Est. D = 5
Est. E = 2
40
45
A
B
C
D
E
S1 = 0
(proceso interactivo)
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
Est.ini A = 0
Est.ini B = 0
Est.ini C = 0
Est.ini D = 0
Est.ini E = 0
40
45
A
B
C
D
E
(proceso interactivo)
S1 = 0
46
gjhgjh
Llegada
Servicio
10
15
20
A
B
C
D
E
47
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Trestante= 3
Trestante= 6
Sin Cargar
Sin Cargar
Sin Cargar
A
B
C
D
E
En ejecucin
Listo
Sin cargar
48
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Trestante= 2
Trestante= 5
Trestante= 8
Sin Cargar
Sin Cargar
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Trestante= 2
Trestante= 4
Trestante= 8
Sin Cargar
Sin Cargar
5
A
B
C
D
E
Terminado
Sin Cargar
49
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Trestante= 1
Trestante= 4
Trestante= 8
Trestante= 6
Sin Cargar
5
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
rfaga CPU
2
4
1
2
35
Termin
Trestante= 4
Trestante= 8
Trestante= 6
Sin Cargar
40
45
A
B
C
D
E
Terminado
Sin Cargar
50
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Termin
Trestante= 3
Trestante= 8
Trestante= 6
Trestante= 4
5
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Termin
Trestante= 2
Trestante= 8
Trestante= 6
Trestante= 4
10
A
B
C
D
E
Terminado
Sin Cargar
51
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Termin
Termin
Trestante= 8
Trestante= 6
Trestante= 4
10
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Termin
Termin
Trestante= 8
Trestante= 6
Trestante= 2
10
A
B
C
D
E
Terminado
Sin Cargar
52
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Termin
Termin
Trestante= 8
Trestante= 4
Trestante= 2
15
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Termin
Termin
Trestante= 8
Trestante= 4
Termin
15
A
B
C
D
E
Terminado
Sin Cargar
53
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
E/S
2
4
5
2
rfaga CPU
2
4
1
2
Termin
Termin
Trestante= 8
Trestante= 1
Termin
20
A
B
C
D
E
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
rfaga CPU
2
4
1
2
35
40
45
A
B
C
D
E
Terminado
Sin Cargar
54
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
rfaga CPU
2
4
1
2
35
40
45
A
B
C
D
E
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
E/S
2
4
5
2
Rfaga CPU
2
4
1
2
Procesos interactivos:
55
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
S1= 3, r = 1
S1= 3, r = 3
Sin Cargar
Sin Cargar
Sin Cargar
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
Rfaga CPU
2
4
1
2
35
40
S1 = 3, S2 = ?
S1 = 3, r = 3
Sin Cargar
Sin Cargar
Sin Cargar
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
56
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
S 1 = 3 , S2 = ?
S1 = 3, r = 2
S1 = 3, r = 3
Sin Cargar
Sin Cargar
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
S2 = 3, r = 3
S1 = 3, r = 1
S1 = 3, r = 3
Sin Cargar
Sin Cargar
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
57
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
S2 = 3, r = 3
S1 = 3, r = 0
S1 = 3, r = 3
S1 = 3, r = 3
Sin Cargar
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
u=7 ?
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
S2 = 3, r = 3
S1 = 3, r = -2
S1 = 3, r = 3
S1 = 3, r = 3
S1 = 3, r = 3
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
58
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
S2 = 3, r = 3
Terminado
S1 = 3, r = 3
S1 = 3, r = 3
S1 = 3, r = 3
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
S2 = 3, r = 3
Terminado
S1 = 3, S2 = ?
S1 = 3, r = 3
S1 = 3, r = 3
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
59
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
Terminado
Terminado
S1 = 3, S2 = ?
S1 = 3, r = 3
S1 = 3, r = 3
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
Terminado
Terminado
S2 = 3.8, r = 3.8
S1 = 3, r = 1
S1 = 3, r = 3
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
60
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
Terminado
Terminado
S2 = 3.8, r = 3.8
S1 = 3, S2 = ?
S1 = 3, r = 3
35
40
45
50
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
Terminado
Terminado
S2 = 3.8, r = 3.8
S1 = 3, S2 = ?
S1 = 3, S2 = ?
35
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
61
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
Terminado
Terminado
S2 = 3.8, r = 1.8
S1 = 3, S2 = ?
S2 = 2.2, r = 2.2
35
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
Terminado
Terminado
S2 = 3.8, r = 0.8
S2 = 4.6, r = 4.6
S2 = 2.2, r = 2.2
35
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
62
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
Terminado
Terminado
Terminado
S2 = 4.6, r = 4.6
S2 = 2.2, r = 2.2
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
63
gjhgjh
Llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
Rfaga CPU
2
4
1
2
30
35
40
45
A
B
C
D
E
(proceso interactivo S1 = 3)
1. Uso de CPU: 29 => 29/29
2. Rendimiento: 5/29
3. Tiempo de retorno (medio): (15 + 7 + 22+ 22 + 20) / 5 = 86 / 5 = 17.2
4. Tiempo de espera (medio): (8 + 1 + 10 + 12 + 14) / 5 = 45 / 5 = 9.0
64
gjhgjh
Tasa de
Respuesta
Tiempo consumido
esperando al
procesador
Tiempo de
servicio esperado
Tiempo de
servicio esperado
HRRN
Procesos cortos => denominador pequeo
=> tasa de respuesta alta
Envejecimiento sin servicio
t. esperando + t.esperado
=> nominador grande
t. esperado
=> tasa de respuesta alta
=> procesos largos compiten con los cortos
0
Proceso
Llegada
10
15
20
Servicio
A
B
C
D
E
65
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
rfaga CPU
2
4
1
2
35
40
45
A
B
C
D
E
En ejecucin
Listo
En espera de E-S
Terminado
Sin Cargar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
rfaga CPU
2
4
1
2
35
40
45
A
B
C
D
E
66
gjhgjh
Realimentacin multinivel
No se dispone de informacin del tiempo de
ejecucin del proceso (SPN, SRT, HRRN).
Para dar preferencia a trabajos cortos, se penaliza
a los que han estado ejecutndose ms tiempo.
Funcin de seleccin: FIFO con reduccin de prioridad
tras cada ejecucin (RR en la ltima cola)
Modo de decisin: preferente (cada q)
0
10
15
20
A
B
C
D
E
(q=1, 2 colas)
Realimentacin multinivel
10
15
20
A
B
C
D
E
(q=1, 5 colas)
67
gjhgjh
Expedir
Entrar
Terminar
RQ1
Terminar
RQn
Terminar
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
rfaga CPU
2
4
1
2
35
40
45
A
B
C
D
E
B
q=1
En ejecucin
Listo
En espera de E-S
# colas prioridad= 5
C
D
Terminado
Sin Cargar
68
gjhgjh
llegada
Rfaga CPU
A
B
C
D
E
0
2
4
6
8
3
6
4
5
2
10
15
20
E/S
2
4
5
2
25
30
rfaga CPU
2
4
1
2
35
40
45
A
B
C
D
E
q=1
# colas prioridad= 5
1. Uso de CPU: 29 => 29/29
2. Rendimiento: 5/29
3. Tiempo de retorno (medio): (22 + 22 + 24 + 23 + 12) / 5 = 103 / 5 = 20.6
4. Tiempo de espera (medio): (15 + 16 + 12 + 12 + 6) / 5 = 61 / 5 = 12.2
Realimentacin multinivel
Procesos cortos: terminan rpido, sin descender
demasiado en la jerarqua de colas.
Procesos largos: llevados gradualmente hacia abajo.
Problema: pueden sufrir inanicin en colas de
prioridad baja si llegan muchos procesos cortos
continuamente
Soluciones:
Cuanta menor es la prioridad se pueden asignar ms
cuantos de tiempo de ejecucin
Tras cierto tiempo de espera en cola, se le cambia a una
cola de prioridad mayor.
69
gjhgjh
Realimentacin multinivel
Mltiples variantes:
Apropiacin en intervalos peridicos (como
Round Robin)
Otras: SRT en cada cola, etc.
Combinacin de polticas
Ejemplos:
FIFO con prioridades realimentadas: FIFO y
cada vez que un proceso deja la CPU se
decrementa su prioridad
Cualquier poltica + prioridades: se sigue la
poltica concreta (q. puede ser apropiativa o no
apropiativa), pero si llega proceso con mayor
prioridad, entra directamente.
70
gjhgjh
A
B
C
D
E
A
B
C
D
E
A
B
C
D
E
A
B
C
D
E
A
B
C
D
E
10
15
20
25
30
35
40
45
50
FCFS
5
10
15
20
25
30
35
40
45
50
RR
(q=1)
5
10
15
20
25
30
35
40
45
50
10
15
20
25
30
35
40
45
50
SPN
SRT
5
10
15
20
25
30
35
40
45
50
10
15
20
25
30
35
40
45
50
HRRN
Realimenta
cin
(q=1)
A
B
C
D
E
FCFS
RR (q=1)
SPN
SRT
HRRN
Realimentacin
(q=1)
71
gjhgjh
Bandas
En orden decreciente de prioridad:
Intercambio
Control de dispositivos de E/S de bloques (ej: disco)
Gestin de archivos
Control de dispositivos de E/S de caracteres
(ej: terminales, impresoras)
Procesos de usuario
para
Garantizar uso eficiente de E/S
Penalizar a procesos con carga CPU
72
gjhgjh
Pj(i) = Basej+
CPUj(i-1)
2
CPUj(i)
2
+ nicej
Base = 60,
ajuste ignorado
(Libro mal
coloreado)
73
gjhgjh
Planificacin
Hilos a nivel de usuario:
El SO no conoce la existencia de hilos
=> planifica a nivel de proceso
Dentro de un proceso, planificador a nivel de usuario se
encarga de los hilos
74
gjhgjh
En cada interrupcin
Tratamiento de la interrupcin
(ejecucin de rutina de atencin a la interrupcin,
ej: E/S, llamada al sistema)
Comprobar si algn proceso pasa de bloqueado
a listo
Comprobar si hay procesos nuevos
Ejecutar la funcin de planificacin segn la
poltica correspondiente
75