1. Facultad de Ingeniería
Escuela de Ingeniería Civil Informática
Sistemas Operativos – Solemne 2
Scheduler
Profesor :
Fecha:
I.
Jonathan Makuc
2 de Octubre de 2008
TEORIA (4puntos c/u)
Responda de forma BREVE y CONSISA.
1. Indique por que un scheduler de un sistema por lotes no sería adecuado en un sistema interactivo.
Los schedulers de sistemas por lotes apuntan a poder reducir el tiempo de retorno y aumentar
la cantidad de tareas completadas por unidad de tiempo, siendo la mayoría no expropiativos.
Los sistemas interactivos buscan principalmente poder reducir el tiempo de respuesta ante los
requerimientos del usuario, lo cual es difícil de conseguir con un scheduler que solo cambia de
proceso cuando este bloquea o termina su ejecución; Un proceso de largas ráfagas de CPU
podría degradar considerablemente el desempeño de un sistema interactivo.
2. ¿Sería posible tener schedulers no-expropiativos para sistemas en tiempo real?
Si, pero no de forma absoluta.
Los sistemas de tiempo tienen que poder sopesar la necesidad de responder sin demora a los
eventos que atienden, con asegurar que una tarea que este atendiendo un evento se complete
adecuadamente sin demoras.
Así, los schedulers de tiempo real combinan técnicas expropiativas y no-expropiativas para
lograr una rotación de procesos adecuada que sea capaz de atender a los requerimientos, pero
considerando excepciones para sostener una tarea ejecutándose si es necesario.
3. ¿Para qué algoritmos de calendazación es importante el calendarizador de largo plazo?
- SJF (Shortest Job First)
- Tiempo Restante más corto a continuación
4. Que problema soluciona el Scheduler SJF.
Al ordenar los procesos del más corto al más largo en tiempo de procesamiento, reduce el
tiempo promedio de ejecución del conjunto de procesos al cual aplica.
5. Cuales de los schedulers vistos en clase recomendaría usted para implementarlos en un sistema
multiusuario que deba manejar priorización de usuarios.
Sistemas Operativos, 2007/2, Prueba Solemne 1
Página 1/6
2. Facultad de Ingeniería
Escuela de Ingeniería Civil Informática
- Calendarización Garantizada
- Calendarización Por Porción Equitativa
6. ¿Cuales de los schedulers vistos en clase serían los más adecuados para sistemas
monoprogramados? ¿Por qué?
Aquellos que no son expropiativos: FIFO y SJF. Esto dado que a que el costo de intercambiar
un proceso de disco a memoria en cada cambio de contexto es demasiado grande para
realizarlo cada cierto quantum de tiempo.
7. Explique las ventajas y desventajas de escoger un quantum de tiempo muy grande.
Si se escoge un quantum largo, entonces se aumenta la proporción de aprovechamiento de la
CPU, dado que se reduce el tiempo total que el sistema operativo pasa realizando cambios de
contexto; el problema es que el sistema responderá de una forma más lenta y podría degradar
el desempeño de un sistema interactivo.
8. ¿Cuantos sets de registros deben almacenarse en un cambio de contexto? ¿Por qué?
Dos. Uno que contiene el estado de los registros cuando el sistema esta ejecutando código de
usuario, y otro set que guarda el estado de la CPU cuando se esta ejecutando código de Kernel.
9. Nombre 2 casos concretos para cada tipo de finalización de un proceso.
Voluntaria Normal: término del programa, finalización vía instrucción con retorno 0.
Voluntaria Con error: C++ exit(1); Java: System.exit(1);
Involuntaria Error Fatal: división por cero, acceso a memoria no autorizado
Terminación Forzada: comando kill PID, Finalización de vía administrador de tareas (windows)
10. ¿Puede un proceso bloquear estando suspendido? ¿Por qué?
No. Se requiere ejecutar una instrucción para bloquear (ej: solicitar lectura a disco), y estando
suspendido (en disco) un proceso no puede ejecutar instrucciones.
Sistemas Operativos, 2007/2, Prueba Solemne 1
Página 2/6
3. Facultad de Ingeniería
Escuela de Ingeniería Civil Informática
II. Ejercicios
Sea un sistema sin paginación, con 512kb de memoria RAM, scheduler Round Robin de quantum
100ms en prioridad 1 y duración de cambio de contexto 10ms. Los procesos se van ubicando en la
memoria utilizando primer ajuste y pueden ser swapeados a disco teniendo un costo de 1ms por kb.
La priorización en el calendarizador tiene 10 nieveles desde 1 a 10, siendo 10 el de mayor prioridad.
Cada nivel aumenta el quantum de en 100ms del quantum base.
Asuma que cada vez que es el turno de un proceso, este debe entrar a la CPU sin importar si esta
swapeado a disco o no.
Utilizando la siguiente información sobre procesos:
Proceso
Tiempo llegada
Duración
Prioridad
Tamaño
A
0 ms
10.000 ms
10
300kb
B
0 ms
1.000 ms
1
50 kb
C
2500 ms
500 ms
2
150 kb
D
3500 ms
1.500 ms
3
350 kb
E
6000 ms
800 ms
4
500 kb
Sistemas Operativos, 2007/2, Prueba Solemne 1
Página 3/6
4. Facultad de Ingeniería
Escuela de Ingeniería Civil Informática
Solución
A) Indique (30 puntos)
1) Secuencia de ejecución de los procesos (20 puntos)
Asumiendo que el tiempo de recuperación de un proceso en swap es idéntico al tiempo que demora en escribirlo.
Tiempo
Memoria
Swap
Time
0
350k
0 ms
10.000
1.000
-
-
-
1.010
350k
10 ms
9.000
1.000
-
-
-
1.120
350k
10 ms
9.000
900
-
-
-
2.130
350k
10 ms
8.000
900
-
-
-
2.240
350k
10 ms
8.000
800
-
-
-
3.250
500k
10 ms
7.000
800
500
-
-
3.360
500k
10 ms
7.000
700
500
-
-
3.570
500k
10 ms
7.000
700
300
1.500
-
3.920
500k
350 ms
7.000
700
300
1.500
-
3.930
500k
10 ms
7.000
700
300
1.200
-
4.580
450k
650 ms
7.000
700
300
1.200
-
4.590
450k
10 ms
6.000
700
300
1.200
-
4.640
500k
50 ms
6.000
700
300
1.200
-
4.650
500k
10 ms
6.000
600
300
1.200
-
4.660
500k
10 ms
6.000
600
100
1.200
-
5.360
500k
700 ms
6.000
600
100
1.200
-
5.370
500k
10 ms
6.000
600
100
900
-
6.020
450k
650 ms
6.000
600
100
900
800
6.030
450k
10 ms
5.000
600
100
900
800
6.080
500k
50 ms
5.000
600
100
900
800
6.190
500k
10 ms
5.000
500
100
900
800
6.300
500k
10 ms
5.000
500
0
900
800
6.650
400k
650 ms
5.000
500
-
900
800
6.660
400k
10 ms
5.000
500
-
600
800
A (300k)
Sistemas Operativos, 2007/2, Prueba Solemne 1
B (50k)
C (150k)
D (350k)
E (500k)
Página 4/6
5. Facultad de Ingeniería
Escuela de Ingeniería Civil Informática
Tiempo
Memoria
Swap
Time
7.560
500k
900 ms
5.000
500
-
600
800
7.970
500k
10 ms
5.000
500
-
600
400
8.770
300k
800 ms
5.000
500
-
600
400
9.780
300k
10 ms
4.000
500
-
600
400
9.830
350k
50 ms
4.000
500
-
600
400
9.940
350k
10 ms
4.000
400
-
600
400
10.590
400k
650 ms
4.000
400
-
600
400
10.600
400k
10 ms
4.000
400
-
300
400
11.500
500k
900 ms
4.000
400
-
300
400
11.910
500k
10 ms
4.000
400
-
300
0
11.210
300k
300 ms
4.000
400
-
300
-
12.220
300k
10 ms
3.000
400
-
300
-
12.270
350k
50 ms
3.000
400
-
300
-
12.380
350k
10 ms
3.000
300
-
300
-
13.030
400k
650 ms
3.000
300
-
300
-
13.040
400k
10 ms
3.000
300
-
0
-
13.390
350k
350 ms
3.000
300
-
-
-
14.400
350k
10 ms
2.000
300
-
-
-
14.510
350k
10 ms
2.000
200
-
-
-
15.520
350k
10 ms
1.000
200
-
-
-
15.630
350k
10 ms
1.000
100
-
-
-
16.640
350k
10 ms
0
100
-
-
-
16.750
50k
10 ms
-
0
-
-
-
A (300k)
B (50k)
C (150k)
D (350k)
E (500k)
En memoria
Saliendo a Swap
Entrando desde Swap
2) Tiempo de retorno de cada proceso (3 puntos)
Sistemas Operativos, 2007/2, Prueba Solemne 1
Página 5/6
6. Facultad de Ingeniería
Escuela de Ingeniería Civil Informática
A – 16.640 ms
B – 16.750 ms
C – 6.300 ms
D – 13.040 ms
E – 11.910 ms
3) Tiempo de finalización de todos los procesos (3 puntos)
16.750ms
4) Tiempo promedio de retorno (4 puntos)
(16640 + 16750 + 6300 + 13040 + 11910) / 5 = 12.928 ms
B) Obtenga los resultados de A) en el caso de que se hubiese utilizado un scheduler FIFO. (10 puntos)
1) Secuencia de ejecución de los procesos (2 puntos)
A -> B -> C -> D -> E
2) Tiempo de retorno de cada proceso (2 puntos)
A – 10.000 ms
B – 11.000 ms
C – 11.500 ms
D – 13.000 ms
E – 13.800 ms
3) Tiempo de finalización de todos los procesos (2 puntos)
13.800 ms.
4) Tiempo promedio de retorno (4 puntos)
(10000 + 11000 + 11500 + 13000 + 13800) / 5 = 11.860 ms
Sistemas Operativos, 2007/2, Prueba Solemne 1
Página 6/6
7. Facultad de Ingeniería
Escuela de Ingeniería Civil Informática
A – 16.640 ms
B – 16.750 ms
C – 6.300 ms
D – 13.040 ms
E – 11.910 ms
3) Tiempo de finalización de todos los procesos (3 puntos)
16.750ms
4) Tiempo promedio de retorno (4 puntos)
(16640 + 16750 + 6300 + 13040 + 11910) / 5 = 12.928 ms
B) Obtenga los resultados de A) en el caso de que se hubiese utilizado un scheduler FIFO. (10 puntos)
1) Secuencia de ejecución de los procesos (2 puntos)
A -> B -> C -> D -> E
2) Tiempo de retorno de cada proceso (2 puntos)
A – 10.000 ms
B – 11.000 ms
C – 11.500 ms
D – 13.000 ms
E – 13.800 ms
3) Tiempo de finalización de todos los procesos (2 puntos)
13.800 ms.
4) Tiempo promedio de retorno (4 puntos)
(10000 + 11000 + 11500 + 13000 + 13800) / 5 = 11.860 ms
Sistemas Operativos, 2007/2, Prueba Solemne 1
Página 6/6