Vous êtes sur la page 1sur 7

Choque, Matas

Espinosa, Fernando
Goytea Vuistaz, Rodrigo

TRABAJO PRCTICO N 2
ADMINISTRACIN DE MEMORIA
1)
Fragmentacin Interna: Cuando se divide la memoria en bloques y el proceso no utiliza el 100% del
espacio del bloque entonces, la parte no utilizada se denomina fragmentacin interna y no es posible
ser utilizada por otro proceso, hasta que se libere el bloque.
Fragmentacin Externa: a medida que ingresan los procesos a la memoria y salen, van dejando huecos
no contiguos, la fragmentacin sucede cuando llegado a un momento el siguiente proceso no entra en
algn hueco porque son prcticamente inutilizables por su tamao.
2)

En un sistema que administra la memoria libre y ocupada con listas enlazadas se puede generar
solamente la fragmentacin externa
La relacin que existe entre los espacios ocupados y espacios libres en administracin por listas
enlazadas:
*Despus de que sale un proceso se crea un hueco
*Despus de cada espacio ocupado le sigue un hueco a menos que sea el final de la lista o la memoria
est llena.

Choque, Matas
Espinosa, Fernando
Goytea Vuistaz, Rodrigo
3)
A.

B.

Choque, Matas
Espinosa, Fernando
Goytea Vuistaz, Rodrigo

4)

Choque, Matas
Espinosa, Fernando
Goytea Vuistaz, Rodrigo
800KB
300KB

1500K
B

600KB

700KB

ESTADO INICIAL

800
KB
B
B
800
KB
800
KB
800
KB
800
KB
B
B

800K
B
800K
B
800K
B

PROCESOS:

PRIMER AJUSTE
ENTRA A
300
A
500
600
700
1000
KB
KB
KB
KB
KB
300
A
500
600
700
1000
KB
KB
KB
KB
KB
300
A
500
600
C
1000
300K A 500K 600K 700K
1000KB
KB
KB
KB
KB
B
B
B
B
300K A 500K 600K 700K B
200KB
B
B
B
B
300K A 500K 600K 700K B
200KB
B
B
B
B
300
1500 KB
600
700
A
KB
KB
KB
300K
1500 KB
600
700
A
B
KB
KB
300
1500 KB
600
C
A
KB
KB
PEOR AJUSTE
300K
B
300K
B
300K
B

A
A
A

500K
B
500K
B
600K
B

1000K
B

600K
B
600K
B
600K
B

700
KB
700
KB
700KB

1200K
B
A=1000KB; B=800KB; C=700KB

1200 KB
1200 KB
1200 KB
1200 KB
C

500K
B
1200 KB
1200 KB

PROXIMO AJUSTE

ENTRA A
ENTRA B
ENTRA C

MEJOR AJUSTE

ENTRA A
ENTRA B
ENTRA C

1200 KB

1000 KB

1600 KB

1000 KB

300K
B

ENTRA B
ENTRA C

1200 KB

400K
B
400K
B
ENTRA A

ENTRA B
ENTRA C

A - El grafico muestra los huecos ocupados por cada proceso en cada algoritmo y en rojo
vemos la fragmentacin
B - El algoritmo ms rpido es en este caso Siguiente Ajuste porque se demora 7 tiempos en
ejecutarse, mientras que los ms lentos son los algoritmos Mejor Ajuste y Peor Ajuste
tiempos de 21 y 24 respectivamente.
C - El Algoritmo que aprovecha mejor la memoria en este caso es Mejor Ajuste porque no
genera fragmentacin de memoria y los menos eficientes son Prximo Ajuste y Peor Ajuste
con una fragmentacin total de 1200KB en ambos algoritmos.
D - El algoritmo del Peor Ajuste se lo podra mejorar usando 2 listas enlazadas, una para los
huecos y otra para los procesos, de tal forma que solo tenga que revisar la lista de los huecos.
La desventaja de esto es su complejidad y que asignara de forma ms lenta la memoria

5)

El porcentaje de tiempo de CPU utilizado para compactar la memoria es del 40% aproximadamente.
Esto se debe a que el 25% de la memoria total no est siendo utilizada, entonces hay que reubicar el
75% de la memoria, esto sera 1024x0.75=768Mb de la memoria. Ahora debemos pasar 768 Mb a
bytes, o sea, 768Mb*1024*1024=805306368 bytes. Sabiendo que se tarda 150nS en copiar 1 byte,
multiplicamos 805306368 bytes*150nS=120795955200bytes*nS, esto sera aproximadamente 2

Choque, Matas
Espinosa, Fernando
Goytea Vuistaz, Rodrigo
minutos. Si la compactacin se hace cada 3 minutos, y la compactacin dura 2 minutos, el 40% del
tiempo el CPU est ocupado compactando memoria.

6)
El MMU recibe la direccin virtual 12315 Bytes, la busca en la tabla direcciones virtuales, la encuentra,
verifica el bit de presente ausente, al estar en 1, revisa la referencia al marco de pgina 0 en la
direccin fsica, la traduce y manda la direccin real a memoria.
7)
De acuerdo al ejercicio las direcciones sern 8 + 11 = 19 bits para el direccionamiento en los dos
niveles, en un sistema de 32 bits nos deja 13 para el marco de pgina, entonces 2^13 = 8 k para el
tamao de marco de pgina,
Y para el direccionamiento son 2^19 = 512 K
8)
0 2047 = 0
2048 4095 = 1
4096 6143 = 2
6144 8191 = 3
8192 10240 = 4

A - 4 * 2048 + 481 = 8673


B - Fallo de pgina
C - 7 * 2048 +1324 = 15660
D - El nmero de pgina virtual no existe
E - Fallo de pgina excede el espacio de direcciones de 2K porque 2051 > 2048
9)

Pasos de un fallo de pgina:

- El hardware interrumpe al kernel y graba el contador de programa.


- Una rutina en assembler se inicia para grabar los registros generales y otra informacin voltil
- El SO detecta que ocurri un fallo de pgina y averigua que pgina virtual se necesita
- El sistema controla si una pgina es vlida y si el acceso es permitido
- Mediante algn algoritmo de pgina se selecciona un marco de pgina para reemplazar
- Si el marco de pgina seleccionado est ocupado, la pgina se planifica para transferir a disco y se
inicia un cambio de contexto
- Cuando el marco de pgina se encuentra limpio, el SO busca la direccin de disco donde est la
pgina y planifica una operacin de disco para traerla
- Cuando una interrupcin de disco indica que la pgina ha llegado, se actualiza la tabla de pginas y
se marca el marco de pgina en estado normal
- La instruccin que fall vuelve al estado en que se encontraba antes del fallo de pgina y el contador
de programa se apunta a dicha instruccin
- Cuando el proceso que fall es planificado, el SO retorno a la rutina en assembler que lo llam
- Dicha rutina carga registros y otra informacin
- Contina la ejecucin

Choque, Matas
Espinosa, Fernando
Goytea Vuistaz, Rodrigo
10)
La memoria virtual tiene 3 bits de direccionamiento, lo que nos permite direccionar 8 pginas,
sobrando una combinacin de bits
La memoria fsica tiene 6 bits de direccionamiento, ya que con 2^6=64 combinaciones distintas para
direccionar.
11)

Proceso

Tamao

Nro. De pginas que


ocupa

12288 (12k)

24576 (24k)

4096 (4k)

8192 (8k)

16384 (16k)

Si consideramos pginas de 4K, 12K/4K = 3; 24K/4K = 6; 4K/4K = 1; 8K/4K = 2; 16K/4K = 4


Necesitamos 12 bits para direccionar 4K, ms algunos bits como de presente/ausente, solicitada y
modificada. Se necesitan 4 bits para direccionar las pginas.
El sistema de direccionamiento seria de 16 bits.
12)
Sistema de 32 bits, 13 para el Desplazamiento nos dejan 23 para el nmero de pginas
| 23 bits | 13 bits
|

A - El tamao de las paginas sern de 2^13 = 8196 bits


B - El nmero de pginas total es de 2^23 = 8 Mb = 8196 Kb
C - RAM = 512 Mb, con tamaos de pginas de 8 Kb
Numero de Marcos = 512 x 1024 / 8 x 1024 = 64 Marcos de Paginas

D - Tamao Tabla de pginas = Nro. Paginas x Tamao de Pagina


con entradas de 64 bits, tenemos 2^6 = 64 entonces con 6 bits
13)

A - Segn el algoritmo NRU la pgina remplazada ser la numero 4, porque cae en la clase 0, con la
mayor prioridad para ser removida (R = 0, M=0)

B - Segn el algoritmo FIFO la pgina remplazada ser la numero 1, porque fue la primera en cargarse
(tic 2400)

C - El algoritmo LRU (menos usadas recientemente) remplazara la pagina 3, porque fue la que fue
referenciada en un intervalo de tiempo mayor

D - Segn el algoritmo del reloj la pgina remplazada ser la numero 4 porque recorrer la lista de
pginas analizando sus bits de lectura y cuando encuentra al bit
reemplazada, independientemente de la posicin inicial de la manecilla

R=0 de la pgina 4, ser

E - En la tabla el nmero de pgina 2 no es relevante para el uso de los algoritmos porque no est en
memoria
14)

Al dividir el programa en segmentos, el Cdigo utilizara 32 K , Los datos utilizaran 16 K, y la Pila


utilizara 20K , la suma de total de la memoria requerida para el programa es de 68 K, que es mayor a

Choque, Matas
Espinosa, Fernando
Goytea Vuistaz, Rodrigo
los 2^16 = 65536 (64k) posibles de direccionar en un sistema de 16 bits . No es posible cargar el
programa con pginas de 4K
Ahora con marcos de pginas de 256 bytes, se tienen 2^8 marcos de pginas posibles de direccionar,
Para los 31945 bytes de cdigo necesitamos 125 marcos (31945/256), luego para 15386 de datos
necesitamos 61 marcos (15386 / 256) y para la pila 16870 son necesarios 66 marcos (16870/256).
Esto nos da un total de 125+66+61 = 252 marcos referenciados para el programa, por lo tanto es
posible direccionar todo el programa 256 (disponibles) > 252 (necesitados)
15)

A Corresponde a la direccin 253, ubicada en el segmento 0.


B Corresponde a la direccin 352, ubicada en el segmento 1.
C Corresponde a la direccin 952, ubicada en el segmento 1. *
D Corresponde a la direccin 2399, ubicada en el segmento 2.
E Corresponde a la direccin 3100, ubicada en el segmento 3. *
F Corresponde a la direccin 1650, ubicada en el segmento 4. *
* Al querer referenciar estas direcciones, ocurrira un fallo ya que la direccin solicitada excede el
rango del segmento.
16)

P = sqrt (2 x e x s); s= tamao de procesos promedio en bytes; e = entrada de la pgina en bytes


P= sqrt (2 x 2 x 1024 x 1024 x 16) = 8 x 1024 = 8 K

Vous aimerez peut-être aussi