Sistemas Operativos Trabajo Práctico n°1 UNIVERSIDAD NACIONAL DE T UCUMÁN Facultad de Ciencias Exactas y Tecnología Depto. de Electricidad, Electrónica y Computación Sistemas Operativos Práctico Nº 1 Tema: Procesos y Planificación del CPU 1. ¿Qué es la Multiprogramación? 2. Cuál de las siguientes instrucciones debe permitirse sólo en modo kernel? a. Deshabilitar todas las interrupciones b. Leer el reloj de la hora del día. c. Establecer el reloj de la hora del día. d. Cambiar el mapa de memoria. 3. ¿Cuál es la diferencia clave entre un trap y una interrupción? 4. En la siguiente figura se muestran los tres estados posibles de un proceso. En teoría, con tres estados podría haber seis transiciones, dos fuera de cada estado. Sin embargo solo se muestran cuatro transiciones. ¿Existe alguna circunstancia en la que una o ambas de las transiciones faltantes pudieran ocurrir? Un proces o puede encontrarse en es tado "en ejecución", "bl oqueado" o "l i sto". Las tra ns i ci ones entre es tos es ta dos s on como s e mues tra n. 5. Cuando una interrupción o una llamada al sistema transfiere el control al sistema operativo, por lo general se utiliza un área de la pila del KERNEL separada de la pila del proceso interrumpido. ¿Por qué? 6. Varios trabajos se pueden ejecutar en paralelo y terminar con más rapidez que sí se hubieran ejecutado en secuencia. Suponga que dos trabajos, cada uno de los cuales necesita diez minutos de tiempo desde la llamada a CPU, inician al mismo tiempo. ¿cuánto tiempo tardará el último en completarse, sí se ejecutan en forma secuencial? ¿Cuánto tiempo sí se ejecutan en paralelo? Suponga hay 50% de espera de entrada/salida. 7. Si un proceso con multihilamiento utiliza la operación Fork, ocurre un problema si el hijo obtiene copias de todos los hilos del Padre. Suponga que uno de los hilos originales estaba esperando la entrada del teclado. Ahora hay dos hilos esperando la entrada del teclado, uno en cada proceso. ¿acaso 1 UNIVERSIDAD NACIONAL DE T UCUMÁN Facultad de Ciencias Exactas y Tecnología Depto. de Electricidad, Electrónica y Computación Sistemas Operativos Trabajo Práctico n°1 ocurre este problema en procesos con un solo hilo? 8. En la figura se muestra un servidor web con multihilamiento. Si la única forma de leer un archivo es la llamada al sistema read normal con bloqueo, ¿cree usted que se están usando hilos a nivel usuario o hilos a nivel del KERNEL para el servidor web? ¿Por qué? Un Servidor Web con múltiples hilos 9. Se presentó anteriormente un servidor web con multihilamiento, mostrando por qué es mejor que un servidor con un solo hilo y que un servidor de máquina de estados finitos. ¿Hay alguna circunstanc ia en la cual un servidor con un solo hilo podría ser mejor? De un ejemplo. 10. ¿Por qué un hilo otorgaría de manera voluntaria la cpu al llamar a thread_yield? Después de todo, como no hay una interrupción periódica de reloj, tal vez nunca obtenga la cpu de vuelta. 11. ¿Puede darse alguna vez el apropiamiento de un hilo mediante una interrupción del reloj? De ser así, ¿bajo qué circunstancias? Si no es así, ¿por qué no? 12. En este problema debe comparar la lectura del archivo, utilizando el servidor de archivos con un solo hilo y un servidor multihilado. Se requieren 15 ms para obtener una petición, despacharla y realizar el resto del procesamiento necesario, suponiendo que los datos necesarios están en la caché del bloque. Sí se necesita una operación de disco, como es el caso de una tercera parte del tiempo, se requieren 75 ms adicionales, durante los cuales el hilo duerme. ¿Cuántas peticiones por segundo puede manejar el servidor, sí es de un solo hilo? ¿si es multihilado? 13. ¿Cuál es la mayor ventaja de implementar hilos en espacio de usuario? ¿Cuál es la mayor desventaja? 14. En un sistema con hilos, ¿hay una pila por cada hilo o una pila por cada proceso cuando se utiliza n hilos a nivel de usuario? ¿y cuándo se utilizan hilos a nivel del KERNEL? Explique. 2 Sistemas Operativos Trabajo Práctico n°1 UNIVERSIDAD NACIONAL DE T UCUMÁN Facultad de Ciencias Exactas y Tecnología Depto. de Electricidad, Electrónica y Computación 15. ¿Por qué es importante para el planificador diferenciar entre programas limitado s por E/S y programas limitados por CPU? 16. Considere el siguiente conjunto de procesos, estando la duración de las ráfagas de CPU específicamente en milisegundos: Proceso P1 P2 P3 P4 P5 Tiempo de ráfaga 10 1 2 1 5 Prioridad 3 1 3 4 2 Se supone que los procesos llegan en el orden P1, P2, P3, P4, P5 en el instante 0. a. Dibuje cuatro diagramas de Gantt para ilustrar la ejecución de estos procesos, usando los siguientes algoritmos de planificación: FCFS, SJF, planificación por prioridades sin desalojo (un numero de prioridad bajo indica prioridad alta) y planificación por turnos (cuanto de tiempo=1). b. ¿Cuál es el tiempo de ejecución de cada proceso para cada algoritmo de planificac ió n mencionado en el apartado a? c. ¿Cuál es el tiempo de espera de cada proceso para cada algoritmo de planificación mencionado en el apartado a? d. ¿Cuál de los algoritmos del apartado a permite obtener el tiempo medio de espera mínimo (teniendo en cuenta todos los procesos? e. ¿Cuáles de los algoritmos de planificación pueden dar lugar a bloqueos indefinidos? 17. Considere un sistema que ejecuta diez tareas limitadas por E/S y una tarea limitada por la CPU. Suponga que las tareas limitadas por E/S ejecutan una operación de E/S por cada milisegundo de tiempo de CPU y que cada operación de E/S tarda 10 milisegundos en completarse. Suponga también que el tiempo de cambio de contexto es de 0,1 milisegundos y que todos los procesos son tareas de de larga duración ¿Cuál es el grado de utilización de la CPU para un planificador por turnos cuando: a. ¿El cuanto de tiempo es de 1 milisegundo? b. ¿El cuanto de tiempo es de 10 milisegundos? 18. ¿Qué algoritmo de planificación será más conveniente para optimizar el rendimiento del procesador en un sistema donde solo hay procesos que no realizan E/S? 19. Sea un sistema que usa un algoritmo de planificación de turno rotatorio con una rodaja de tiempo de 100ms. En este sistema ejecutan 2 procesos. El primero no realiza operaciones de E/S, y el segundo solicita una operación de E/S cada 50ms. ¿Cuál será el porcentaje de uso de procesador? 3
© Copyright 2024