Вы находитесь на странице: 1из 3

Paginacin de memoria

En sistemas operativos de computadoras, los sistemas de


5. El programa D se carga en memoria (se le asignan
paginacin de memoria dividen los programas en pequelos marcos 3 y 4 que usaba el proceso B y el marco
as partes o pginas. Del mismo modo, la memoria es
7 que permaneca libre)
dividida en trozos del mismo tamao que las pginas llamados marcos de pgina. De esta forma, la cantidad de De esta forma, las tablas simplicadas de cada proceso se
memoria desperdiciada por un proceso es el nal de su ven de esta forma:
ltima pgina, lo que minimiza la fragmentacin interna
Ahora consideremos qu sucede cuando un progray evita la externa.
ma quiere acceder a su memoria. Si el programa A
En un momento cualquiera, la memoria se encuentra ocu- contiene una referencia a la memoria con direccin
pada con pginas de diferentes procesos, mientras que 20FE, se realizar el siguiente procedimiento. 20FE es
algunos marcos estn disponibles para su uso. El siste- 0010000011111110 en notacin binaria (en un sistema
ma operativo mantiene una lista de estos ltimos marcos, de 16 bit), y en el ejemplo se estn usando pginas de 4Kb
y una tabla por cada proceso, donde consta en qu mar- de tamao. Cuando la peticin de la direccin de memoco se encuentra cada pgina del proceso. De esta forma, ria 20FE es realizada, la Unidad de Gestin de memoria
las pginas de un proceso pueden no estar contiguamente se ve de esta forma:
ubicadas en memoria, y pueden intercalarse con las pgi0010000011111110 = 20FE |__||__________| | | | v | Ponas de otros procesos.
sicin de memoria dentro de la pgina (0FE) v Nmero de
En la tabla de pginas de un proceso, se encuentra la ubi- pgina (0010 = 2) * n = bits de la @ lgica -log2(nmero
cacin del marco que contiene a cada una de sus pginas. de palabras de una pgina). * V: bit de validez. * P: bit
Las direcciones lgicas ahora se forman como un nme- de persistencia. * L: bit de derecho a lectura. * E: bit de
ro de pgina y de un desplazamiento dentro de esa pgina derecho a escritura. * M: bit de modicacin.
(conocido comnmente como oset). El nmero de pgina es usado como un ndice dentro de la tabla de pginas, Al usar pginas de 4096 bytes, todas las ubicaciones denser representadas por 12 bits,
y una vez obtenida la direccin del marco de memoria, se tro de una pgina pueden
12
en
el
sistema
binario
(2
=4096),
lo que deja 4 bits para
utiliza el desplazamiento para componer la direccin real
representar
el
nmero
de
pgina.
Si
las pginas hubieran
o direccin fsica. Este proceso se realiza en una parte del
sido
de
la
mitad
del
tamao
(2048)
se
podran tener 5 bits
computador especcamente diseada para esta tarea, es
para
el
nmero
de
pgina,
lo
que
signica
que a menor tadecir, es un proceso hardware y no software.
mao de pgina se pueden tener tablas con ms pginas.
De esta forma, cuando un proceso es cargado en memoria,
se cargan todas sus pginas en marcos libres y se completa Cuando el pedido de acceso a memoria es realizado, la
MMU busca en la tabla de pginas del proceso que realisu tabla de pginas.
z el pedido por la relacin en memoria fsica. En nuestro
Veamos un ejemplo:
ejemplo, la pgina nmero 2 del proceso A corresponde
La tabla de la derecha muestra una posible conguracin al marco nmero 2 en memoria fsica, con direccin real
de la memoria en un momento dado, con pginas de 4Kb. 1000:2000, por lo tanto, la MMU devolver la direccin
La forma en que se lleg a este estado puede haber sido del marco en memoria fsica, con el desplazamiento dentro de esa pgina: 1000:20FE.
la siguiente:
Se tienen cuatro procesos, llamados A, B, C y D, que ocupan respectivamente 3, 2, 2 y 3 pginas.

1 Paginacin en memoria virtual

1. El programa A se carga en memoria (se le asignan


El nico inconveniente de paginacin pura es que todas
los marcos 0, 1 y 2)
las pginas de un proceso deben estar en memoria pa2. El programa B se carga en memoria (se le asignan ra que se pueda ejecutar. Esto hace que si los programas
los marcos 3 y 4)
son de tamao considerable, no puedan cargarse muchos
3. El programa C se carga en memoria (se le asignan a la vez, disminuyendo el grado de multiprogramacin
del sistema. Para evitar esto, y aprovechando el principio
los marcos 5 y 6)
de cercana de referencias donde se puede esperar que un
4. El programa B termina, liberando sus pginas
programa trabaje con un conjunto cercano de referencias
1

a memoria (es decir con un conjunto residente ms pequeo que el total de sus pginas), se permitir que algunas pginas del proceso sean guardadas en un espacio de
intercambio (fragmentacin interna) mientras no se necesiten.
Cuando la paginacin se utiliza junto con memoria virtual, el sistema operativo mantiene adems el conocimiento sobre qu pginas estn en memoria principal y
cules no, usando la tabla de paginacin. Si una pgina
buscada est marcada como no disponible (tal vez porque no est presente en la memoria principal, pero s en
el rea de intercambio), cuando la CPU intenta referenciar una direccin de memoria en esa pgina, la MMU
responde levantando una excepcin (comnmente llamada fallo de pgina). Si la pgina se encuentra en el espacio
de intercambio, el sistema operativo invocar una operacin llamada intercambio de pgina, para traer a memoria
principal la pgina requerida. La operacin lleva varios
pasos. Primero se selecciona una pgina en memoria, por
ejemplo una que no haya sido usada recientemente (para
ms detalles ver algoritmos de reemplazo de pginas). Si
la pgina fue modicada, se escribe la misma en el espacio de intercambio. El siguiente paso en el proceso es leer
la informacin en la pgina necesitada desde el espacio
de intercambio. Cuando esto sucede, las tablas para traduccin de direcciones virtuales a reales son actualizadas
para reejar los contenidos de la memoria fsica. Entonces el intercambio de pgina sale, y el programa que us
la direccin que caus la excepcin es vuelto a ejecutar
desde el punto en que se dio la misma y contina como
si nada hubiera pasado. Tambin es posible que una direccin virtual sea marcada como no disponible porque
no fue localizada previamente. En estos casos, una pgina de memoria es localizada y llenada con ceros, la tabla
de paginacin es modicada para mostrar los cambios y
el programa se reinicia como en el otro caso.
Si la pgina que ha provocado el fallo de pgina no se
encuentra en el espacio de intercambio, habr que ir a
buscarla a la unidad de disco. El proceso, por lo dems
sera anlogo.

Vase tambin
Paginacin anidada
Segmentacin de memoria

VASE TAMBIN

Origen del texto y las imgenes, colaboradores y licencias

3.1

Texto

Paginacin de memoria Fuente: https://es.wikipedia.org/wiki/Paginaci%C3%B3n_de_memoria?oldid=93779479 Colaboradores: Opinador, Tano4595, 142857, Orgullomoore, Xuankar, Taichi, Unf, Superzerocool, Chobot, Caiserbot, Martincarr, Sasquatch21, Tigerfenix,
Isra00, Kaiba0, CEM-bot, Laura Fiorucci, Montgomery, FrancoGG, Metabot, Dogor, Mpeinadopa, Plux, VolkovBot, Technopat, C'est
moi, Matdrodes, Elabra sanchez, Mutari, Leonpolanco, JOe-LoFish, Arjuno3, A5b, Luckas-bot, Barnacaga, ArthurBot, SuperBraulio13,
Xqbot, Elprofe69, D'ohBot, Born2bgratis, HUBOT, *TikiTac*, Foundling, EmausBot, ZroBot, Mecamtico, ChuispastonBot, WikitanvirBot, Tokvo, UAwiki, Derekrojas, Tinaut1986, Un Tal Alex.., Addbot y Annimos: 63

3.2

Imgenes

3.3

Licencia del contenido

Creative Commons Attribution-Share Alike 3.0

Вам также может понравиться