Práctica #5 Gestión de Memoria Simple Objetivos de la práctica

Anuncio
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computación
Sistemas Operativos (6004)
Práctica #5
Gestión de Memoria Simple
Objetivos de la práctica:
• Estudiar los requisitos indispensables para la gestión de memoria: reubicación,
protección, compartimiento, organización lógica y física.
• Analizar los diferentes algoritmos empleados para la asignación de memoria.
• Conocer las técnicas empleadas para la partición de la memoria: partición estática y
dinámica.
• Estudiar las estructuras de hardware y de control en la gestión de memoria.
Desarrollo de la práctica:
1. Explicar las técnicas empleadas para establecer la correspondencia entre las
direcciones lógicas y físicas en la paginación.
2. Explicar la correspondencia de entre las direcciones lógicas y físicas en un sistema
con segmentación.
3. Los programas binarios están normalmente estructurados en muchos sistemas de la
forma siguiente: el código se almacena a partir de una dirección virtual fija de valor
pequeño, como por ejemplo 0; el segmento de código está seguido por el segmento
de datos que se utiliza para almacenar las variables del programa. Cuando el
programa comienza a ejecutarse, la pila se asigna en el otro extremo del espacio
virtual de direcciones y se le permite crecer hacia abajo, hacia las direcciones
virtuales más pequeñas. ¿Qué implicaciones tiene la implementación de esta
estructura en los siguientes esquemas?
a) Asignación contigua de memoria.
b) Segmentación pura.
c) Paginación pura.
4. Considere un espacio de direcciones lógicas de ocho páginas de 1.024 palabras
cada uno, asignado a una memoria física de 32 marcos.
a) ¿Cuántos bits hay en la dirección lógica?
b) ¿Cuántos bits hay en la dirección física?
5. Considere la siguiente tabla de segmentos:
Segmento
0
1
2
3
4
Base Longitud
219
600
2300
14
90
100
1327
580
1952
96
6. ¿Cuáles son las direcciones físicas correspondientes a las siguientes direcciones
lógicas?
a) 0,430
b) 1,10
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computación
Sistemas Operativos (6004)
Práctica #5
c) 2,500
d) 3,400
e) 4,112
7. Un computador tiene un espacio de direcciones de 32 bits y páginas de 8 KB. Cada
entrada en la tabla de páginas ocupará una palabra de 32 bits. Al iniciar un proceso,
la tabla de páginas se copia al hardware desde la memoria (Afirmación hipotética
para el ejercicio), con una palabra cada 100 ns. Si cada proceso se ejecuta durante
100 ms (incluyendo el tiempo de carga de la tabla de páginas). ¿Cuál es la fracción
de tiempo del procesador que se dedica a la carga de la tabla de páginas?
8. Suponga un Sistema Operativo que emplea un sistema de gestión de memoria
paginada en donde las páginas tienen un tamaño de 8KB. Adicionalmente se conoce
que el tamaño de cada entrada en la tabla de páginas es igual a 32 bits. Se desea
que calcule el espacio ocupado por la tabla de páginas para un proceso con un
espacio de direccionamiento igual a 232 Bytes.
9. Una máquina utiliza un sistema de gestión de memoria basado en segmentación
pura. Las direcciones lógicas se dividen en campo segmento (6 bits) y campo
desplazamiento (26 bits). La memoria física direccionable en esta máquina es de 16
GB (234 bytes). Responda justificadamente las siguientes preguntas:
a) Indique las dimensiones (número de entradas y tamaño en bytes de cada
entrada) de las tablas de segmentos necesarias para este sistema de gestión de
memoria.
b) ¿Cuál es el número máximo de segmentos que puede tener un proceso?
c) Queremos cargar un archivo ejecutable con tres segmentos: un segmento de
código de 100 MB, un segmento de datos de 40 MB y un segmento de pila de 30
MB. Indique cuál será el contenido de la tabla de segmentos del proceso
correspondiente.
d) Indique dos ventajas y dos inconvenientes de la segmentación pura respecto la
paginación pura.
10. Un Sistema Operativo emplea un sistema de gestión de memoria con paginación
simple, con un tamaño de página de 4KB y una memoria principal de 2 GB. Suponga
que llegan 4 procesos y que éstos tienen los siguientes requerimientos: P1 4 MB,
P2 8MB, P3 44.560 Bytes y P4 33.566 Bytes. Se desea que indique:
a) La cantidad de memoria principal asignable.
b) El nivel de fragmentación interna y externa.
11. Calcular el porcentaje de tiempo de CPU utilizado para la compactación de la
memoria en una máquina de 1 Mb de memoria. La compactación se hace cada 0,5 s
y se tarda 300 ns en copiar un byte. Los espacios desaprovechados en promedio
son del 50% del tamaño de los bloques.
12. Un sistema de intercambio elimina la fragmentación mediante la compactación.
Suponiendo que la memoria está repartida de tal forma que tanto los bloques libres
como los bloques asignados ocupan 4096 bytes; que la memoria consiste en una
secuencia alternante de bloques asignados y bloques libres; que el primer bloque de
la memoria está asignado; y que el tiempo de lectura o escritura en una palabra de
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computación
Sistemas Operativos (6004)
Práctica #5
memoria de 32 bits de 10 nanosegundos (1 nanosegundo = 1x10-9 segundos),
¿aproximadamente cuánto tiempo se requiere para compactar 2 GB?
13. En este problema tiene que comparar el almacenamiento necesario para llevar la
cuenta de la memoria libre, utilizando un mapa de bits contra el uso de una lista
enlazada. La memoria de 128 MB se asigna en unidades de n bytes. Para la lista
enlazada, suponga que la memoria consiste en una secuencia alternante de
segmentos de datos y fragmentos libres de 64 KB cada uno (un segmento de datos,
un segmento libre, un segmento de datos, un segmento libre,…). Suponga también
que cada nodo de la lista enlazada necesita una dirección de memoria de 32 bits,
una longitud de 16 bits y un campo para el siguiente nodo de 16 bits. ¿Cuántos
bytes de almacenamiento se requieren para cada método? ¿Cuál es mejor en este
caso?
14. Considerar un sistema en el que la memoria posee huecos libres de tamaño: 1000
KB, 400 KB, 1800 KB, 700 KB, 900 KB, 1200 KB y 1500 KB. Estos huecos están
disponibles en el orden dado. Se requieren tres segmentos de tamaños 1200 KB,
1000 KB y 900 KB. Para los algoritmos primer ajuste, peor ajuste, siguiente ajuste
con apuntador al bloque 1800:
a) ¿Qué huecos serán asignados?
b) ¿Qué algoritmo aprovecha mejor la memoria?
15. Dadas las siguientes particiones de memoria: 100K, 500K, 200K, 300K, 600K (en
orden), ¿Cómo sería la asignación de las particiones utilizando los algoritmos de
primer ajuste, peor ajuste y mejor ajuste a los siguientes procesos: 212K, 417K,
112K, 426K? ¿Qué algoritmo hace el uso más eficiente de la memoria?
GDSO
Descargar