Burgos, Canul y Cervera
FMAT
1-10-2015
Algoritmos de planificación
Matrícula:
14016355
Nombres: Víctor Burgos
-
14016342
-
14016262
-
Efraín Canul
-
Albert Cervera
Asignatura: Sistemas Sistemas Operativos Operativos Profesor: M. en C. Luis Ramiro Basto Díaz
Burgos, Canul y Cervera
FMAT
1. ¿Por qué es importante para el planificador diferenciar entre programas limitados por E/S y programas limitados por CPU? Para poder ejecutar los procesos de forma más eficiente, ya que los procesos limitados por E/S tienen ráfagas de CPU cortas, lo que significa que utilizan por menos tiempo el procesador y salen de forma más rápida para que otro proceso pueda utilizarlo.
2. Un sistema operativo utiliza un algoritmo de planificación de CPU basado en una cola multinivel de dos niveles. El primer nivel se gestiona mediante un algoritmo de prioridades puras y en él se introducen las rutinas de servicio del sistema operativo. El segundo nivel se gestiona mediante un algoritmo Round Robin de quantum 3 unidades de tiempo, y en él se introducen los procesos de usuario. Al terminar cada operación de entrada salida se produce una interrupción que utiliza la CPU durante 2 unidades de tiempo, y este es el único tipo de interrupciones que se deben considerar en el problema. En un instante dado, la carga del sistema es la siguiente: Cola 1 P1 CPU(4)
E/S(2)
IN(2)
CPU(4)
P2 E/S(2)
IN(2)
CPU(4)
CPU(2)
E/S(3)
P3 IN(2)
CPU(3)
CPU(7)
Cola 2 P4 CPU(3) 3ut
P5 CPU(2)
P4 E/S(1)
E/S(1)
3ut
P5 IN(2)
3ut
E/S(1)
P4 IN(2)
3ut
P5
CPU(3)
CPU(2)
3ut
2ut
P4 E/S(2)
P4 IN(1)
IN(1)
3ut
CPU(2) 3ut
3. Considere el siguiente conjunto de procesos, estando la duración de las ráfagas de CPU en milisegundos. Proceso P1 P2 P3 P4
Ráfaga CPU 10 1 2 1
Prioridad 3 1 3 4
P4 CPU(1) 1ut
Burgos, Canul y Cervera
FMAT
5
P5
2
Se supone que los procesos llegan en el orden P1, P2, P3, P4, P5 en el instante 0. a) Dibuja diagramas de Gantt para ilustrar la ej ecución de los procesos, usando los siguientes algoritmos de planificación: FCFS, SJF, planificación por prioridades sin desalojo (el número de prioridad más pequeño indica la prioridad más alta) y planificación por turnos (quantum = 1).
b) ¿Cuál es el tiempo de ejecución de cada proceso para cada algoritmo de planificación? P1 P2 P3 P4 P5
FCFS
SJF
Prioridades
Round Robin
10 ms 11 ms 13 ms 14 ms 19 ms
19 ms 1 ms 4 ms 2 ms 9 ms
16 ms 1 ms 18 ms 19 ms 6 ms
139 ms 2 ms 10 ms 4 ms 39 ms
Burgos, Canul y Cervera
c)
FMAT
¿Cuál es el tiempo promedio de ejecuc ión de todos los procesos para cada algoritmo de planificación? FCFS: 13.4 ms SJF: 7 ms Prioridades: 12 ms Round Robin: 38.8 ms
d) ¿Cuál es el tiempo de espera de cada proceso para cada algoritmo? P1 P2 P3 P4 P5
FCFS
SJF
Prioridades
Round Robin
0 ms 10 ms 11 ms 13 ms 14 ms
9 ms 0 ms 2 ms 1 ms 4 ms
6 ms 0 ms 16 ms 18 ms 1 ms
128 ms 1 ms 8 ms 3 ms 44 ms
e) ¿Cuál es el tiempo de espera de proceso promedio para cada algoritmo? FCFS: 9.6 ms SJF: 3.2 ms Prioridades: 8.2 ms Round Robin: 384.2 ms f) ¿Cuál de los algoritmos permitió obtener el tiempo medio de espera mínimo? El SJF con sus veloces 3.2 milisegundos.
4. ¿Cuáles de los siguientes algoritmos de planificación pueden dar lugar a bloqueos indefinidos? FCFS SJF Prioridades Round Robin La muerte por inanición es un problema importante de la planificación por prioridades. Un
proceso que está preparado para ejecutarse pero está esperando a acceder a la CPU puede considerarse bloqueado, y en la planificación por prioridades, esto podría darse indefinidamente.
5. El planificador tradicional de UNIX fuerza una relación inversa entre los números de prioridad y las prioridades: cuanto mayor es el número, menor es la prioridad. El planificador recalcula las prioridades de los procesos una vez por segundo usando la siguiente función: Prioridad = (uso reciente de CPU / 2) + prioridad base
Burgos, Canul y Cervera
FMAT
Donde prioridad base = 60 y uso reciente de la CPU hace referencia a un valor que indica con qué frecuencia ha empleado un proceso la CPU desde que s e calcularon las prioridades por última vez. Suponga que el uso reciente de la CPU para el proceso P1 es de 40, para el proceso P2 de 18 y para el proceso P3 de 10. a. ¿Cuáles serán las nuevas prioridades para estos tres procesos cuando éstas se vuelven a calcular? P1 = (40/2) + 60 = 80………… Prioridad Baja P2 = (18/2) + 60 = 69………… Priorida d Media P3 = (10/2) + 60 = 65………… Prioridad Alta b. ¿Incrementará o disminuirá el planificador tradicional de UNIX la prioridad relativa de un proceso limitado a la CPU? Justifique su respuesta. Pues incrementara el planificador ya que si el número de procesos es muy grande resulta poco eficiente para calcular todas las prioridades cada segundo.
6. Generalmente la siguiente ráfaga de CPU se predice como la media exponencial de las duraciones medidas de las anteriores ráfagas de CPU. Sea t n la duración de la n _ésima ráfaga de CPU y sea τn+1 el valor predicho para la siguiente ráfaga de CPU. Entonces, para α, 0 α 1, se define: τn+1 = α tn + (1-α)τn
(fórmula de promedio exponencial)
El valor de t n contiene información más reciente; τ n almacena el historial pasado. α controla el peso relativo del historial reciente y pasado de la predicción. ¿Cuáles son las implicaciones de asignar los siguientes valores a los parámetros utilizados por el algoritmo? a. α = 0 y τ 0 = 100 milisegundos τ1 = (0)(80) + (1-0)100= -100
b. α = 1 y τ 0 = 10 milisegundos τ1 = (0)(80) + (1-1)10 = 0