Está en la página 1de 16

ADMINISTRACION DE LA

MEMORIA PRINCIPAL
INF 2310 – SISTEMAS OPERATIVOS I
TEMA 4 – Parte 5
Ejercicio 1
Considere un computador de 32 bits que dispone de un sistema de
memoria virtual que emplea páginas de 16 KB y tiene instalada una
memoria principal de 1 GB. Indique:
a) El formato de la dirección virtual
La computadora puede direccionar 232 = 22 *230 = 4GB.
El tamaño de la página es:
16 KB = 16* 210 = 24*210 = 214
Se tiene 14 bits para desplazamiento en la página
Si el sistema es de 32 bits, entonces:
32 – 14  = 18 bits para el Nro. De página

18 bits 14 bits
b) El número máximo de páginas (Direcciones virtuales)
La cantidad de páginas viene dada por la cantidad total de direcciones virtuales disponibles dividido entre
la cantidad de direcciones de la página.
La cantidad total de direcciones en un sistema de 32 bits es de: 232
El tamaño de la página es de 16 KB que es igual a  214
Por lo que:
232 / 214  = 232-14  = 218 = 28 *210 =256 K (Se pueden direccionar hasta 262.144 páginas)
 c) El número de marcos (Direcciones físicas)
Tengo un 1 GB de memoria real. Expresado en potencia de 2 es:
1 GB  = 230  B
La cantidad de marcos es el total de memoria real, dividido entre el tamaño de la página. 
230 / 214 = 216 marcos = 65536 marcos
d) El tamaño del bloque que se transfiere entre el disco y la memoria principal
Es igual al tamaño de la página = 16KB (El tamaño de la página es el mismo tamaño del marco)
Ejercicio 2
Un computador con memoria virtual emplea direcciones virtuales de 16 bits y páginas de 2 KB. El
computador dispone de una memoria física instalada de 8KB. Indique:
a) El formato de la dirección virtual
2KB = 2*1024 = 2048 = 211 
Si el sistema es de 16 bits, entonces:
16 – 11 = 5
Por lo que:
Cantidad de bits para Nro. de página: 5 bits
Cantidad de  bits para desplazamiento: 11 bits
b) El número máximo de páginas
La cantidad de páginas viene dada por la cantidad total de direcciones virtuales disponibles dividido entre
la cantidad de direcciones de la página.
El sistema es de 16 bits, por lo que se disponen de 216 direcciones.
El tamaño de la página es de 2KB = 1024 * 2 = 2048 = 211
Entonces: 216 / 211 = 216-11 = 25  = 32 páginas direccionables  
c) El número de marcos
El sistema tiene de memoria física: 8KB 
8KB = 8*1024 = 213 B
La cantidad de marcos es el total de memoria real, dividido entre el tamaño de la página. 
213 / 211 = 213-11 = 22  = 4 marcos

d) Cuál es el tamaño máximo en KB de memoria virtual que se puede direccionar: 


El sistema es de 16 bits, por lo que:
216 = 65536     
Expresado en KB
65536 / 1024  = 216 / 210 = 26 =64 KB

e) El formato de la dirección física:


En memoria física se disponen de 8KB.
8KB = 23 * 210 = 213 B
Y como ya se calculó el tamaño de la página es de  2KB  = 211
Por lo que:
Cantidad de bits para id de página: 2 bits
Cantidad de bits para desplazamiento: 11 bits
 
Ejercicio 3
Dado un sistema de gestión de memoria basado en múltiples niveles de paginación, se trata de determinar el
número de niveles necesarios para que la tabla de primer nivel pueda caber en una TLB de 256 bytes. Se
supone que la dirección lógica tiene un formato de 32 bits, el tamaño de página es de 1024 bytes, el tamaño
de los descriptores (entradas) de cualquiera de las tablas de páginas es de 8 bytes y que cada tabla de nivel
superior al primero ocupa el tamaño de una página.
Solución
 La dirección lógica es de 32 bits y el tamaño de página es de 1024 bytes = 2 10, por tanto, el
desplazamiento está entre 1-1024

Nro de Pagina Desplazamiento


22 bits 10 bits
 El primer nivel de paginación ha de caber en la TLB, el tamaño de la TLB es de 256 bytes y la entrada en la
tabla de páginas es de 8 bytes, por tanto tendremos:

Por tanto de los bits de la dirección lógica dedicados al primer nivel de paginación será 5.

Nro de Pagina Nivel 1 Otros niveles Desplazamiento


5 bits 17 bits 10 bits
 Las páginas son de 1024 bytes = 210, por tanto el número de descriptores que puede contener una página
es:

Siendo el tamaño de las direcciones de 2 y tercer nivel = 7, se tiene la siguiente distribución :

 Se necesitan por tanto 4 niveles de paginación distribuidos como se aprecia en la tabla anterior.
Ejercicio 4

Sea un sistema con gestión de memoria segmentada y capacidad máxima de direccionamiento,


virtual y real, de 16 MB. El número de segmento se indica con 8 bits.

a) ¿Cuál es el número de bits en el campo desplazamiento? ¿Y el formato de una dirección


virtual?
b) ¿Cuál el número máximo de segmentos que puede tener un proceso?
c) ¿Cuál es el tamaño máximo de un segmento?
d) ¿Cuál es el formato de una entrada en la tabla de segmentos?
Solución:
a) El espacio de memoria virtual es de 16 MB = 224 bytes.
Si el segmento se identifica con 8 bits, entonces el campo desplazamiento tiene 16 bits.
Formato de la dirección virtual.

Nro de Segmento Desplazamiento

8 bits 16 bits

b) El número máximo de segmentos es: 28 = 256 segmentos


c) El tamaño máximo de un segmento es 216 = 64 KB
d) El formato de una entrada en la tabla de segmentos es: Base: 24 bits (Dirección de memoria virtual) |
Límite: 16 bits (Tamaño del segmento)
Ejercicio 5
Se dispone de un computador (que direcciona la memoria por bytes) con un sistema de memoria virtual
que emplea direcciones virtuales de 16 bits y páginas de 2 KB. El computador dispone de una memoria
física instalada de 8 KB. Se pide:
a) ¿Cuál es el tamaño máximo, en KB, de la memoria virtual que se puede direccionar.
b) Indique el número de páginas máximo que puede tener un programa que ejecuta en este computador.
c) Indique el formato de la dirección virtual empleada en este computador.
d) Indique el tamaño del marco de página.
e) Indique el número de marcos de página de la memoria física.
f) Indique el formato de la dirección física de este computador.
g) ¿Cuál es el número máximo de entradas que puede tener la tabla de páginas asociada a un programa
que ejecuta en este computador, asumiendo que se trata de una tabla de páginas de un único nivel?
Solución:
a) Tamaño de la dirección virtual 16 bits. Tamaño máximo direccionar: 2 16 = 64 KB
b) Número máximo de páginas: tamaño de direcciones / tamaño de pág. = 2 16/211 = 25 = 32 páginas
c) El formato es el siguiente:

Nro Pag. Desplazamiento

5 bits 11 bits

d) El tamaño del marco de página es igual al tamaño de página: 2 KB


e) Nro de marcos en memoria = Tamaño Memoria física/tamaño de marco = 8KB/2KB = 4 Marcos = 2 2
f) El formato de dirección física es:

Nro Marco Desplazamiento


g) Como hay 32 páginas y la tabla de páginas es de un único nivel, tendrá 32 entradas como mucho: una
2 bits página de la memoria
para cada posible 11 bits virtual.
GESTIÓN DE LA MEMORIA EN WINDOWS:
Todos los procesos (por ejemplo, ejecutables de aplicaciones) que se ejecutan en versiones de 32 bits de
Windows tienen asignadas direcciones de memoria virtual (un espacio de direcciones virtual), de 4 GB,
independientemente de la cantidad de RAM instalada en el equipo.
En la configuración Windows predeterminada, 2 gigabytes (GB) de este espacio de direcciones virtuales
se designan para el uso privado de cada proceso y los otros 2 GB se comparten entre todos los procesos
y el sistema operativo. Normalmente, las aplicaciones (por ejemplo, Bloc de notas, Word, Excel y Acrobat
Reader) solo usan una fracción de los 2 GB de espacio de direcciones privados. El sistema operativo
asigna marcos de página ram solo a las páginas de memoria virtual que se usan.
La extensión de dirección física (PAE) es la característica de la arquitectura intel de 32 bits que expande
la dirección de memoria física (RAM) a 36 bits. PAE no cambia el tamaño del espacio de direcciones
virtual (que permanece en 4 GB), sino solo el volumen de RAM real que puede abordar el procesador.
Cualquier página de memoria virtual (dirección de 32 bits) se puede asociar a cualquier página de RAM
física (dirección de 36 bits).
Las páginas son de 4 KB
GESTIÓN DE LA MEMORIA EN LINUX
En lo que respecta a memoria virtual, hace uso de una estructura de tabla de páginas con tres niveles,
formada por los siguientes tipos de tablas (cada tabla individual es del tamaño de una página): 
 

VPFN: Número de página virtual


PFN: Número de marco de página física
Niveles de tabla de páginas en Linux

Directorio de páginas: (Primer nivel) Un proceso activo tiene un solo directorio de páginas
que es del tamaño de una página. Cada entrada en el directorio de páginas apunta a una página
del directorio intermedio de páginas. Para un proceso activo, el directorio de páginas tiene que
estar en la memoria principal. 
 
Directorio intermedio de páginas: (Segundo nivel) Este directorio puede ocupar varias
páginas y cada entrada de este directorio apunta a una página de la tabla de páginas. 
 
Tabla de páginas: (Tercer Nivel) Esta tabla de páginas también puede ocupar varias páginas,
y cada entrada de la tabla de página hace referencia a una tabla virtual del proceso.
 
Para utilizar esta estructura de la tabla de páginas a tres niveles, una dirección virtual en Linux se ve como un
conjunto de cuatro campos. El campo más a la izquierda (más significativo) se utiliza como índice en el
directorio de páginas. El siguiente campo sirve como índice en el directorio intermedio de páginas. El tercer
campo sirve como índice en la tabla de páginas. Y el cuarto y último campo, indica el desplazamiento dentro
de la página seleccionada de la memoria.

Linux utiliza la técnica de paginación por antigüedad (LRU) para escoger de forma equitativa y justa las
páginas a ser intercambiadas o descartadas del sistema.

Este esquema implica que cada página del sistema ha de tener una antigüedad que ha de actualizarse conforme
la página es accedida.

También podría gustarte