Sistemas operativos modernos

11. En este problema tiene que comparar la lectura de un archivo, empleando un servidor de archivos de un solo subproceso y uno de múltiples subprocesos. Se requieren 15 milisegundos para obtener una solicitud de trabajo, despacharla y realizar el demás procesamiento necesario, suponiendo que los da­ tos pedidos están en el caché de bloques. Si se requiere una operación de disco, como sucede la ter­ cera parte del tiempo, se necesitarán 75 milisegundos más, tiempo durante el cual el subproceso estará inactivo. ¿Cuántas solicitudes puede manejar el servidor cada segundo si sólo tiene un sub­ proceso? ¿Y si es de múltiples subprocesos? 12. En el texto describimos un servidorWeb de múltiples subprocesos y explicamos por qué es mejor que un servidor de un solo subproceso y que uno de máquina de estados finitos. ¿Hay circunstancias en las que podría ser mejor un servidor de un solo subproceso? Dé un ejemplo. 13. Al tratar las variables globales en subprocesos, ufilizamos un procedimiento crear_global para asig­ nar almacenamiento a un apuntador a la variable, no a la variable misma. ¿Esto es indispensable o los procedimientos también podrían funcionar con los valores mismos? 14. Considere un sistema en el que los subprocesos se implementan por completo en espacio de usuario, y el sistema de tiempo de ejecución recibe una interrupción de reloj una vez por segundo. Suponga­ mos que se da una interrupción de reloj mientras algún subproceso se está ejecutando en el sistema de fiempo de ejecución. ¿Qué problema podría presentarse? ¿Puede sugerir una forma de resolverlo? 15. Suponga que un sistema operativo no tiene nada parecido a la llamada al sistema select para ver con antelación si es posible leer de un archivo, conducto o dispositivo sin peligro, pero sí permite esta­ blecer alarmas de reloj que interrumpan las llamadas al sistema bloqueadas. ¿Es posible implemen­ tar un sistema de subprocesos en espacio de usuarios en estas condiciones? Explique. 16. ¿Puede presentarse el problema de inversión de prioridad que vimos en la sección 2.3.4 con subpro­ cesos en el nivel de usuario? ¿Por qué sí o por qué no? 17. En un sistema con subprocesos, ¿hay una pila por subproceso o una pila por proceso cuando se usan subprocesos en el nivel de usuario? ¿Y si se usan subprocesos en el nivel de kemell Explique. 18. ¿Qué es una condición de competencia? 19. Cuando se está desarrollando una computadora, lo común es simularla con un programa que ejecuta una instrucción a la vez. Incluso los multiprocesadores se simulan de forma estrictamente secuencial. ¿Es posible que se presente una condición de competencia cuando no hay sucesos simultáneos, co­ mo en la simulación? 20. ¿Funciona la solución de espera activa empleando la variable tumo (figura 2-20) si los dos procesos se están ejecutando en un multiprocesador de memoria compartida, es decir, en dos CPUs que usan la misma memoria? 21. ¿La solución de Peterson al problema de la exclusión mutua que se muestra en la figura 2-21 funcio­ na si la calendarización de procesos es expropiativa? ¿Y si es no expropiafiva? 22. Considere una computadora que carece de la instrucción TSL, pero que sí tíene una instrucción pa­ ra intercambiar el contenido de un registro y una palabra de la memoria en una sola acción indivisi­ ble. ¿Puede usarse eso para escribir una rutina entrar_region como la de la figura 2-22? 23. Bosqueje la forma en que un sistema operativo capaz de inhabilitar interrupciones podría implemen­ tar semáforos.

RkJQdWJsaXNoZXIy MjI4NDcx