Está en la página 1de 20

ADMINISTRACION DE LA

MEMORIA PRINCIPAL
INF 2310 – SISTEMAS OPERATIVOS I
TEMA 4 – Parte 4
Fallo de página

La memoria cargada en memoria principal se le denomina memoria residente.

El acceso a memoria residente por parte de un proceso es tomado como un acceso normal,
pero el acceso a memoria no residente genera un fallo de página.

El fallo de página genera una interrupción a nivel del sistema operativo, que activa una rutina
de atención que carga la página en memoria principal.
Políticas de sustitución

Para ilustrar su comportamiento se va a utilizar la siguiente secuencia de


páginas referenciadas:

7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1
A) Algoritmo FIFO
 B) Algoritmo óptimo
C) Algoritmo LRU
Anomalía de Belady

a) 3 marcos

b) 4 marcos
Paginación Multinivel
Caso 1
Caso 2
Paginación a un Nivel
Paginación Multinivel
Traducción de direcciones Multinivel
Paginación Multinivel
Rendimiento

En el ejemplo anterior, cada acceso a un dato o a una instrucción


requiere tres accesos a MC

No obstante, la utilización de cachés permite una reducción razonable del


tiempo de acceso
Excepción que se produce cuando se intenta transformar una dirección lógica en la correspondiente dirección física y el bit
de presencia tiene valor inválido

Rutina de servicio de fallo de página:


 Se obtiene el identificador de un marco de MC libre
 Se copia la página referenciada en dicho marco
 Se actualiza la entrada de dicha página
 Se reinicia la ejecución de la instrucción que ha generado el fallo de página
Si no existe un marco de MC libre:
 Si no hay ningún marco libre, reemplazar una página de M
 Se copia la página referenciada en el marco seleccionado
 Se actualiza la entrada de dicha página
 Se reinicia la ejecución de la instrucción que ha generado el fallo de página
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
Expresemos el tamaño de la página como una potencia de 2.
16 KB = 1024 * 16 = 16384 = 214 = 24*210
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
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.
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 = 262,144 páginas (Se pueden direccionar hasta 262.144 páginas)
 
c) El número de marcos
Los marcos son los espacios disponibles en memoria real para las páginas.
Tengo un 1 GB de memoria real. Expresado en potencia de 2 es:
1 GB  = 1024 x 1024 x 1024 = 1073 741 824 bytes = 2 30  
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


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
Expresamos el tamaño de la página como una potencia de 2:
2KB = 1024 * 2 = 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  
c) El número de marcos
El sistema tiene de memoria física: 8KB 
Si lo expresamos como potencia de 2:
8KB = 1024 * 8 = 8192 = 213 
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 (considere que 1 KB es 1024 bytes)
65536 / 1024  = 64 Kb

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


En memoria física se disponen de 8KB. 8KB = 2 13 
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
 

También podría gustarte