Sistemas operativos modernos
usan cachés que tienen una tasa de aciertos de 90%. Por último, ¿qué tasa de aciertos de caché se ne cesita para que 32 CPUs puedan compartir el bus sin sobrecargarlo? 4. Suponga que se rompe el cable entre el conmutador 2A y el 3B en la red omega de la figura 8-5. ¿Quién queda aislado de quién? 5. ¿Cómo se manejan las señales en el modelo de la figura 8-7? 6 . Cuando se efectúa una llamada al sistema en el modelo de la figura 8 - 8 , es necesario resolver inme diatamente después de la interrupción de sistema un problema que no se presenta en el modelo de la figura 8-7. ¿En qué consiste el problema y cómo podría resolverse? 7. Rescriba el código de entrar_region de la figura 2-22 ufilizando la lectura pura, a fin de reducir la hi perpaginación inducida por la instrucción TSL. 8 . ¿En verdad son necesarias las regiones críficas que abarcan secciones de código en un sistema ope rativo SMP para evitar condiciones de competencia, o pueden usarse simplemente mutexes en cier tas estructuras de datos para lograr el mismo objetivo? 9. Cuando se ufiliza la instrucción TSL para sincronizar multiprocesadores, el bloque de caché que contiene el mutex se transferirá en forma contìnua entre la CPU que tiene el bloqueo y la CPU que lo solicita si ambas hacen referencia de manera repetida al bloque. Para reducir el tráfico de bus, la CPU solicitante ejecuta una TSL cada 50 ciclos de bus, pero la CPU que fiene el bloqueo siempre hace referencia al bloque de caché entre instrucciones TSL. Si un bloque de caché contiene 16 pa labras de 32 bits, cada una de las cuales tarda un ciclo de bus en transferirse, y el bus opera a 400 MHz, ¿qué fracción del ancho de banda del bus se ocupa en transferir el bloque de caché entre las CPUs? 10. En el texto se sugirió usar un algoritmo de retroceso exponencial binario entre cada dos usos de TSL para sondear un bloqueo. También se sugirió tener un retraso máximo entre sondeos. ¿El algoritmo funcionarí'a en forma correcta si no hubiera un retraso máximo? 11. Suponga que no cuenta con la instrucción TSL para sincronizar un multiprocesador. En vez de ello, dispone de otra instrucción, SWP, que intercambia de manera atómica el contenido de un registro y el de una palabra de memoria. ¿Esa instrucción podría servir para sincronizar el multìprocesador? Si es así, ¿cómo podría usarla? Si no, ¿por qué no funciona? 12. En este problema fiene que calcular cuánta carga impone al bus un bloqueo giratorio. Imagine que cada instrucción ejecutada por una CPU tarda 5 nanosegundos. Una vez terminada una instrucción, se ocupan los ciclos de bus que sean necesarios, digamos para TSL. Cada ciclo de bus tarda otros 10 nanosegundos aparte del tìempo de ejecución de la instrucción. Si un proceso está intentando entrar en una región crítica empleando un ciclo TSL, ¿qué fracción del ancho de banda del bus consumirá? Suponga que los cachés están funcionando en forma normal, de modo que la obtención de una ins trucción dentro del ciclo no consume ciclos de bus. 13. Dijimos que la figura 8-12 representaba un entorno de tiempo compartido. ¿Por qué se muestra sólo un proceso A en la parte b? 14. La calendarización por afinidad reduce los fallos de caché. ¿También reduce los fallos de TLB? ¿Y los fallos de página? iz;
RkJQdWJsaXNoZXIy MjI4NDcx