Solemne 2 (con pauta)

8
Facultad de Ingeniería Escuela de Ingeniería Civil Informática Sistemas Operativos – Solemne 2 Scheduler Profesor : Jonathan Makuc Fecha: 2 de Octubre de 2008 I. 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? Sistemas Operativos, 2007/2, Prueba Solemne 1 Página 1/8

Transcript of Solemne 2 (con pauta)

Page 1: Solemne 2 (con pauta)

Facultad de IngenieríaEscuela de Ingeniería Civil Informática

Sistemas Operativos – Solemne 2Scheduler

Profesor : Jonathan Makuc

Fecha: 2 de Octubre de 2008

I. 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.

Sistemas Operativos, 2007/2, Prueba Solemne 1 Página 1/6

Page 2: Solemne 2 (con pauta)

Facultad de IngenieríaEscuela de Ingeniería Civil Informática

5. Cuales de los schedulers vistos en clase recomendaría usted para implementarlos en un sistema multiusuario que deba manejar priorización de usuarios.

- 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

Page 3: Solemne 2 (con pauta)

Facultad de IngenieríaEscuela 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

Page 4: Solemne 2 (con pauta)

Facultad de IngenieríaEscuela 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

A (300k) B (50k) C (150k) D (350k) E (500k)

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

Sistemas Operativos, 2007/2, Prueba Solemne 1 Página 4/6

Page 5: Solemne 2 (con pauta)

Facultad de IngenieríaEscuela de Ingeniería Civil Informática

Tiempo Memoria Swap Time

A (300k) B (50k) C (150k) D (350k) E (500k)

6.660 400k 10 ms 5.000 500 - 600 800

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 - - -

En memoria

Saliendo a Swap

Entrando desde Swap

Sistemas Operativos, 2007/2, Prueba Solemne 1 Página 5/6

Page 6: Solemne 2 (con pauta)

Facultad de IngenieríaEscuela de Ingeniería Civil Informática

2) Tiempo de retorno de cada proceso (3 puntos)

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