Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP 5-2020

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Cátedra:

Sistemas Operativos
Año 2020
Trabajo Práctico Nro 5
Tema: Gestión de Memoria

1) Explique las diferencias entre dirección física y lógica.


2) Explique las diferencias entre fragmentación interna y externa.
3) Se tiene un sistema de particiones múltiples con un soporte hardware basado en la técnica
de registros base y límite. Dado un programa P que ocupa T palabras y se encuentra ubicado
en memoria a partir de la posición de memoria física C.
a) ¿Cuál es el valor de cada registro para el programa P?
b) ¿Cuál es el rango de las direcciones que emite P?
c) ¿Cuál es el rango de direcciones reales en que se transforman las direcciones que emite
P?
4) Indique si las siguientes afirmaciones son verdaderas (V) o falsas (F) y justifíquelo.
a) La gestión de memoria basada en particiones fijas utiliza el método de compactación
para resolver el problema de fragmentación externa.
b) El método de superposiciones ("overlays") se puede utilizar en un sistema que no
gestione memoria virtual.
c) El espacio de direcciones físicas depende del bús de direcciones del sistema.
d) El espacio de direcciones lógicas está limitado por el tamaño de la memoria física.
e) La compactación de un proceso sólo se puede realizar en un método de reubicación
dinámica de la memoria.
5) Suponga un sistema en el que no se dispone de MMU. ¿Existe alguna técnica que permita
ejecutar en dicho sistema un programa cuyas necesidades de memoria superen la cantidad
de memoria física total disponible?
6) ¿Qué tipo de algoritmos se utilizan para gestionar sistemas con asignación contigua de
memoria? ¿Qué tipo de fragmentación se puede producir en estos sistemas?
7) Indique en cuales de los siguientes mecanismos de gestión de memoria puede producirse
fragmentación externa: particiones variables, paginación, segmentación paginación por
demanda, segmentación por demanda.
8) Sea una lista de bloques libres compuesto en el orden de bloques de 100K, 500K, 200K, 300K
y 600K. Suponiendo que llegan los siguientes procesos de diferente tamaño en el siguiente
orden 212K, 417K, 112K, y 426K.
a) Cómo se localizarían en memoria:
 Usando una estrategia Best Fit?
 Usando una estrategia First Fit?

¿Cuánta memoria es realmente ocupada por el conjunto de procesos de la pregunta


anterior si se les localiza en memoria por bloques de a 10K? ¿Cómo se llama este
fenómeno?
9) El gestor de memoria utiliza una estrategia de particiones de tamaño variable con bloques
de 600 bytes, 400 bytes, 1000 bytes, 2200 bytes, 1600 bytes y 1050 bytes.
a) ¿Qué bloque se seleccionará para satisfacer una solicitud de 1603 bytes utilizando una
política del Mejor encaje?
b) Ídem utilizando el Peor encaje.
c) Suponiendo que la lista está ordenada como aparece en el enunciado del problema, ¿qué
bloque se seleccionará para satisfacer una solicitud de 1603 bytes utilizando la política
del primer encaje?
10) En un sistema, se disponen de huecos libres de distintos tamaños en el siguiente orden: 5
Mb, 2 Mb, 9 Mb, 3 Mb, 4 Mb, 7 Mb, 8 Mb, 6 Mb. Se requieren cuatro segmentos de tamaños

1
6 Mb, 4.5 Mb, 5 Mb, 2.8 Mb. Analizar qué huecos asignaran los algoritmos del primer, mejor
y peor ajuste. Indicar cuál de ellos aprovecha mejor la memoria con particiones fijas y
particiones variables, explicar por qué.
11) Sea un sistema gestionado con un mecanismo de participaciones variables en el que la
memoria física tiene 4200 palabras. En un instante la memoria está ocupada por 3 bloques
de código/datos de la forma:

Dirección Longitud
Inicial
1000 1000
2900 500
3400 800

La estrategia utilizada cuando se carga un nuevo bloque en memoria es la del mejor ajuste en
primer lugar. Si falla, se crea un hueco mayor desplazando los bloques en memoria hacia la
dirección 0. Esta acción siempre empieza con el bloque actualmente en la dirección de memoria
más baja, y prosigue únicamente hasta encontrar un hueco suficiente para el nuevo bloque.
A partir de ese momento, hay que cargar tres bloques de 500, 1200 y 200 (en ese orden).
Describir el contenido de la memoria una vez satisfechas las peticiones.
La situación de la memoria sería la siguiente:

12) Sea un sistema gestionado por particiones múltiples de tamaño variable con compactación.
En un instante dado, se tiene la siguiente ocupación de la memoria:

P1 P2 Libre
Libre 400 k
180k 100k 150k

Se utiliza la técnica del mejor ajuste. En la cola de trabajos tenemos en este orden:
P4(120K), P5(200K) y P6(80K), los cuales deben ser atendidos en orden FIFO. Suponiendo
que no finaliza ningún proceso y tras intentar cargar en memoria todos los procesos que
están en la cola.
a) Indicar cuántas particiones quedan libres y de qué tamaño son.
b) Si en esta situación se aplica compactación, indicar qué proceso o procesos deberían
moverse para que el número de Kbyte manejados fuese el menor posible y quede un único
hueco.
c) Si los registros base de cada proceso son, respectivamente, B1, B2, B3, B4, B5 y B6,
indicar cómo han cambiado los registros base correspondientes al proceso o procesos que
se han movido debido a la compactación.
13) Sea un sistema de gestión de memoria basado en la técnica de la paginación. Sean tres
procedimientos que ocupan 700, 200 y 500 k respectivamente. Determine cuánta memoria
se pierde por fragmentación interna cuando estos procedimientos se cargan en memoria si
el tamaño de la página es de: 1200 k, 2500 k, 3600 k o 4700 k.
14) Suponga que un proceso emite una dirección lógica igual a 2453 y que se utiliza la técnica de
paginación, con páginas de 1024 bytes.
a) Indique el par de valores (número de página, desplazamiento) que corresponde a dicha
dirección.
b) ¿Es posible que dicha dirección lógica se traduzca en la dirección física 9322? Razónelo.
15) La tabla de páginas indica que la página 2 tiene asociado el marco de número 3. El tamaño de
la página es de 1Kb.

2
¿Cuál es la dirección física para la dirección virtual (2, 326) dada en el formato (nº pág.,
desplazamiento en la pág.)?
a) 3+326.
b) 1 x 1024+326.
c) 3 x 1024+326.
d) Se necesita conocer el tamaño del marco.
16) Suponga que un proceso emite la dirección lógica (2,18004) utilizando un modelo de gestión
de memoria basado en segmentación y el espacio de memoria física es de 64K bytes.
a) ¿A qué direcciones físicas de las siguientes (11084, 33270 y 22112), sería posible
traducir dicha dirección lógica?
b) ¿Cuál sería el resultado de traducir la dirección lógica (0,65536) en dicho sistema?
Justificar la respuesta
17) La segmentación divide el conjunto de informaciones necesarias para la ejecución de una
tarea en segmentos. Un segmento, de cualquier tamaño, representa una zona de memoria
para la tarea. Está asociado a un aspecto específico de la representación de la tarea en
memoria (código, datos, fila.) Un segmento se carga completamente en memoria en zonas
contiguas.
Sea <s,d> una dirección segmentada compuesta de un número de segmento y un
desplazamiento. Se considera una tarea utilizando 3 segmentos, cuya tabla de segmentos en
un instante dado es:

Base Limite P M U RWX


0 0 132 0
1 7435 400 1 0 0 011
2 0 325 0

Donde B es la base, L el largo del segmento, p, m, u y x los respectivos bits de presencia, de


modificación, de utilización y de derechos de acceso al segmento. Se supone que la tarea
hace un acceso de escritura al dato situado en la dirección <1,260>
a) ¿Cuál es la dirección física de éste dato en memoria?
b) Muestre las modificaciones realizadas en la tabla cuando se produce este acceso, y
precise si estas son efectuadas por el sistema o por el hardware.
c) ¿Qué sucede cuando hay un acceso a la instrucción en la dirección <0,125>?
18) Un sistema posee una memoria física de 64Kbytes dividido en marcos de páginas de tamaño
4Kbytes. Un programa tiene un código de tamaño 32768 bytes, un conjunto de datos de
16386 bytes y una pila de 15870 bytes. ¿Se podrá cargar este programa en la memoria?
Razonar si influye el tamaño de la página.
Si el tamaño de página es de 4K bytes la memoria total consta de: 65536
Para el segmento de código se necesitan: 32768
Para el segmento de datos se necesitan: 16386
Para el segmento de pila se requieren: 15870
19) Un sistema posee una memoria física de 64 Kb dividido en marcos de páginas de 512 bytes.
Un programa tiene un código de tamaño 32768 bytes, datos de 16386 bytes y una pila de
15870 bytes. ¿Se puede cargar este programa en memoria?
a) Imposible b) Sólo el código c) Posible d) Se puede si no se carga la pila
20) Segmentación paginada: Se considera una memoria segmentada paginada. El tamaño de las
páginas es de 512 palabras. El proceso P posee 3 segmentos: el segmento 0 para el código,
el segmento 1 para la pila y el segmento 2 para los datos. El segmento 0 tiene 1500 palabras,
el segmento 1 2000 y el segmento 2 tiene 3000. Se supone que la tabla de los segmentos y
las tablas de páginas están ya cargadas en memoria.
a) ¿Cuáles son los derechos asociados a cada segmento? ¿Cuál es la ventaja de acortar el
espacio de almacenamiento del proceso?
b) Sólo se han cargado las siguientes páginas (<número de segmento, número de página>):
<0,0> en la dirección física 2560
<1,2> en la dirección física 4096
<2,3> en la dirección física 1024
¿En qué marco de memoria está cargada la página <0,0>?

3
c) Describir brevemente lo que sucede al intentar la lectura de <0,1678>, <1,567> y <2,
1600> (estas direcciones están en el formato segmentado)
d) ¿Se conoce la dirección física de la variable de la dirección virtual <1,1060>?. Si es así
¿cuál es? sino justifique.
21) Supongamos un sistema con memoria paginada en el que las direcciones de memoria son de
16 bits, siendo los 4 bits de mayor peso el número de página. La traducción de los números
de página se hace mediante una tabla en la unidad de gestión de memoria.
En dicha tabla, en cada entrada se tiene, además del número de marco, un bit P que indica
si la página está presente (P=1) o ausente (P=0). Cuando la página está ausente, el número de
marco no tiene sentido. Si se intenta acceder a una página ausente, se produce un fallo de
página. A la vista de la tabla de página, ¿qué direcciones físicas producirían las siguientes
direcciones paginadas? (por simplicidad, todas las direcciones están en hexadecimal)

 0000
 1F00
 3AE1
 4000
 7B00
 801B
22) A continuación se presentan varias situaciones en las que uno o más procesos generan varias
direcciones lógicas. Indique las direcciones físicas correspondientes según cada esquema de
gestión de memoria. Si no es posible indique ERROR.
a) Considere un esquema de particiones variables. Las direcciones lógicas generadas son:
(B, 530), (A, 0,130), (C, 1056). Situación de los procesos:

Proceso Registro Base Registro Limite


A 0 1360
B 4020 6300
C 1400 2600

b) Considere un esquema de paginación, con un tamaño de página de 256kb. Las direcciones


lógicas generadas son 530, (0,130), 1046. El contenido de la tabla de páginas es el
siguiente:
0 4
Tabla de Páginas
1 5
2 3
3 6

c) Considere un esquema de segmentación paginada con un tamaño de página 128. Las


direcciones lógicas generadas son 530, (0, 130), 1046. El contenido de la memoria física
es el siguiente:

Nº de (Segmento, página)
Marco
0 (0,3)
1 (1,0)
2 (2,0)
3 --
4 (1,2)
5 (0,1)
6 (0,2)
7 (1,3)

4
23) Supongamos un sistema de gestión de memoria con segmentación paginada, con páginas de
1Kb. Un proceso emite las siguientes direcciones lógicas: (1, 2487) y (1, 635). A continuación
se muestra la tabla de páginas del segmento 1. ¿Cuáles serán las direcciones físicas
correspondientes?
Segmento-1: Tabla de páginas

Página Marco
0 3

1 7

2 8

(*) Para calcular las direcciones físicas se ha de consultar los descriptores de páginas 2 y 0
de la tabla de páginas, cuyo contenido representa el marco donde se encuentra ubicada,
dicha página.

También podría gustarte