Sistemas Operativos
Verano de 2009
Sistemas Operativos Pr´ actica 4 – Administraci´ actica on on de memoria
Notas preliminares preliminares
Los ejercicios ejercicios marcados marcados con el s´ımbolo constituyen un subconjunto m´ınimo de ejercitaci´on. on. Sin embargo, aconsejamos fuertemente hacer todos los ejercicios.
Ejercicio 1
Indicar las diferencias entre direcci´on on de memoria l´ogica, ogica , lineal y f´ısica. Ejercicio 2
Explique la diferencia entre los conceptos de fragmentaci´on on interna y externa. Ejercicio 3
Dadas cinco particiones de memoria de 100 KB, 500 KB, 200 KB, 300 KB y 600 KB (en este orden), ¿c´omo omo situar´ situar´ıan en memoria memoria una serie serie de procesos de 212 KB, 417 KB, 112 KB y 426 KB (en este orden) con los algoritmos: primer ajuste, mejor ajuste y peor ajuste 1 ? ¿cu´al al algoritmo hace el uso m´as as eficiente de la memoria? Ejercicio 4
¿Por qu´e las tablas de p´aginas aginas son de tama˜ no no potencia de 2? Ejercicio 5
Considere un sistema con paginaci´on on por demanda donde los procesos est´an an haciendo acceso secuencial a los datos de acuerdo a los siguientes patrones de uso: Uso Uso de CPU: 20 % El sistema hace thrashing. Uso del resto resto de los dispositi dispositivo voss de E/S: 10 % Como se ve, la CPU est´a siendo ampliamente desaprovechada. Para cada uno de los siguientes cambios en el sistema indique si es probable o no que mejore la utilizaci´on on de la CPU. a) Instalar una CPU m´as as r´apida. apida. b) Instalar un disco de paginado m´as as grande. c) Incremen Incrementar tar el grado de multiprog multiprogramaci ramaci´´on. on. d) Disminuir Disminuir el grado de multiprogr multiprogramaci´ amaci´ on. on. e) Instalar m´as as memoria principal. f) Instalar un disco m´as as r´apido. apido. g) Incorporar prepaging a los algoritmos de reemplazo de p´aginas. aginas. h) Incremen Incrementar tar el tama˜ no no de p´agina. agina. i) Incremen Incrementar tar la velocidad del bus de E/S. Ejercicio 6 1
Peor ajuste es un algoritmo que utiliza el bloque m´as as grande, gr ande, esp erando as´ı generar menos fragmentos fr agmentos peque nos, n ˜ os, como los que quedan con mejor ajuste. No lo logra en general.
P´ agina agina 1 de 3 de 3
Sistemas Operativos
Verano de 2009
Se tiene un espacio de direcciones l´ogicas de 8 p´aginas de 1024 palabras cada una, mapeado en una memoria que tiene 32 frames de capacidad. a) ¿Cu´ antos bits tiene una direcci´on l´ogica? b) ¿Cu´antos bits tiene una direcci´on f´ısica? Ejercicio 7
Un sistema asigna espacios de direccionamiento de 65536 bytes, divididos en p´aginas de 4096 bytes. Un programa particular tiene 32768 bytes de texto, 16836 bytes de datos y requiere de 15870 bytes para la pila (stack). ¿Se puede ejecutar dicho programa en el espacio de direccionamiento disponible? ¿Cambia la situaci´ on si el tama˜no de p´agina es de 512 bytes? Ejercicio 8
Considere un sistema de paginaci´on en el que la tabla de p´aginas est´e almancenada en memoria. a) Si una referencia a memoria tarda en realizarse 200 nanosegundos, ¿cu´ anto tiempo tardar´a una referencia a memoria paginada? b) Si a˜ nadimos una TLB y el 75 % de todas las referencias a las tablas de paginaci´o n se encuentran presentes en la TLB, ¿cu´al es el tiempo que se espera que tarde una referencia a memoria en promedio? (suponer que el acceso a la TLB tarda tiempo 0). Ejercicio 9
¿Bajo qu´e circunstancias se produce un page-fault ? ¿Cu´ales son las acciones que realiza el sistema operativo para resolver la situaci´on? Ejercicio 10
Considere la siguiente secuencia de referencias a p´aginas: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6
¿Cu´antos fallos de p´agina se producir´an con los siguientes algoritmos de reemplazo, suponiendo que se tienen 1, 2, 3, 4, 5, 6 ´o 7 frames? Al comenzar todos los frames se encuentran vac´ıos, por lo que la primer referencia a una p´agina siempre genera fallo de p´agina. a) Con reemplazo LRU. b) Con reemplazo FIFO. c) Con reemplazo ´optimo. Ejercicio 11
Se tiene la siguiente matriz: int
A [ ] [ ] = new
i n t [ 1 0 0 ] [ 1 0 0 ] ;
donde A[0][0] est´a cargado en la posici´on 200, en un sistema de memoria paginada con p´aginas de tama˜ no 200. Un proceso de manipulaci´on de matrices se encuentra cargado en la primer p´agina, de la posici´on 0 a 199, por lo que todo fetch de instrucciones es a la misma p´agina. Si se tienen s´olo 3 frames de p´aginas, ¿Cu´ antos fallos de p´agina ser´an generados por los siguientes ciclos, utilizando el algoritmo de reemplazo LRU? Suponer que el programa se encuentra en el primer frame , y los otros dos est´an vac´ıos.
P´ agina 2 de 3
Sistemas Operativos
a)
for
Verano de 2009
( i n t j = 0; j < 1 0 0 ; j ++) ( i n t i = 0 ; i < 1 0 0 ; i ++) A[ i ] [ j ] = 0;
for
b) Notar el orden de los ´ındices en los ciclos... ( i n t i = 0; i < 1 0 0 ; i ++) f o r ( i n t j = 0; j < 1 0 0 ; j ++) A[ i ] [ j ] = 0;
for
Ejercicio 12
Dado un sistema que no realiza copy-on-write , ¿c´omo le agregar´ıa esa funcionalidad? Considere: Llamadas al sistema a modificar. Cambios de HW. Cambios en el manejo de segmentos y p´aginas. Ejercicio 13
Se tiene un sistema operativo que debe controlar un celular, cuya funci´on principal es atender llamadas. a) ¿Tiene sentido implementar segmentaci´ on? ¿Y si el usuario puede descargarse programas de Internet? b) ¿Tiene sentido que haya p´ aginas que nunca que swappen? ¿Y que no tengan direcciones fijas?
P´ agina 3 de 3