Anda di halaman 1dari 20

Sistemas Operativos

Tema: Administracin de la Memoria

Ing. Jorge Antonio Vildoso Rodrguez

PAGINACIN

De esta forma,
se puede cargar
una pgina de
informacin en
cualquier marco
de pgina.

Las pginas sirven como unidad de almacenamiento


de informacin y de transferencia entre memoria
principal y memoria auxiliar o secundaria.

Cada marco se identifica por la direccin de marco,


que est en la posicin fsica de la primera palabra
en el marco de pgina.

Las pginas de un programa necesitan estar contiguamente en


memoria.
Los mecanismos de paginacin permiten la correspondencia
correcta entre las direcciones virtuales (dadas por los
programas) y las direcciones reales de la memoria que se
corresponden.

Traduccin de
Direcciones
La direccin generada por la CPU se
divide en:
Nmero de pgina
Offset de la pgina
(p)
(d):
Utilizado como ndice
Combinado con la
en la tabla de
direccin base define
pginas que contiene
la direccin fsica que
la direccin base de
ser enviada a la
cada pgina en la
unidad de memoria.
memoria fsica.

La traduccin dinmica de direcciones incluye:


Un proceso en ejecucin hace referencia a una
direccin virtual v = (p,d).
Un mecanismo de transformacin de pginas busca
la pgina p en la tabla de pginas y determina
si la pgina p se encuentra en el marco de pgina
p.
La direccin de almacenamiento real se forma por
la concatenacin de p y d.

Cada pgina consiste en z palabras contiguas; un espacio de


direcciones N de un programa consiste de n pginas (0,1,2,3n1) (n*z direcciones virtuales)
El espacio de memoria consiste de m marcos de paginas (0,z,2z,
,(m-1)z)(m*z posiciones).
Una direccin virtual a es equivalente a una direccin dada como
una dupla (p, d), en la cual p es el nmero de la pgina y d el
nmero de la palabra dentro de la pgina, de acuerdo con la
relacin:
a=p*z+d (06), los cuatro bits ms significativos indican el numero
de la pagina y los m-4 bits restantes, el desplazamiento.
Para tener el control de las pginas, debe mantenerse una tabla
en memoria que se denomina tabla de Mapas de Pagina (PMT)
para cada uno de los procesos.

La tabla de mapa de pginas debe indicar si se


encuentra o no en el almacenamiento primario la
pgina referenciada:
En caso afirmativo dnde est en la memoria real.
En caso

negativo dnde puede estar en el

almacenamiento secundario.

Los mtodos que hemos visto de la administracin de


la memoria principal, nos han dejado con un problema:
Fragmentacin, (huecos en la memoria que no pueden
usarse debido a lo pequeo de su espacio) lo que nos
provoca un desperdicio de memoria principal.
Una posible solucin para la fragmentacin externa es
permitir que espacio de direcciones lgicas lleve a
cabo un proceso en direcciones no contiguas, as
permitiendo al proceso ubicarse en cualquier espacio
de memoria fsica que est disponible, aunque est
dividida.

Una forma de implementar esta solucin es a travs del


uso de un esquema de paginacin.
La paginacin evita el considerable problema de ajustar
los pedazos de memoria de tamaos variables que han
sufrido

los

esquemas

de

manejo

de

memoria

anteriores.
Dado a sus ventajas sobre los mtodos previos, la
paginacin, en sus diversas formas, es usada en
muchos sistemas operativos.

Tablas de pginas
La finalidad de la tabla de pginas es asociar las
pginas virtuales con los marcos. En trminos
matemticos, la tabla de pginas es una funcin, cuyo
argumento es el nmero de pgina virtual y como
resultado el nmero del marco fsico. Mediante el
resultado de esta funcin, se puede reemplazar el campo
de la pgina virtual de una direccin virtual por un campo
de marco, lo que produce una direccin en la memoria
fsica.
Sin embargo
fundamentales:

hay

que

enfrentar

dos

aspectos

La tabla de pginas puede ser demasiado grande.


La asociacin debe ser rpida.

El primer punto proviene del hecho de que las


computadoras modernas utilizan direcciones virtuales
de al menos 32 bits. Por ejemplo, si el tamao de
pgina es de 4K, un hueco de direcciones de 32 bits
tiene un milln de pginas; en el caso de un hueco de
direcciones de 64 bits, se tendra ms informacin de
la que uno quisiera contemplar.
El segundo punto es consecuencia del hecho de que la
asociacin virtual fsica debe hacerse en cada
referencia a la memoria. Una instruccin comn tiene
una palabra de instruccin y tambin un operando de
memoria. Entonces es necesario hacer una, dos o ms
referencias a la tabla de pginas por cada instruccin.

Caractersticas de la paginacin
El espacio de direcciones lgico de un proceso

puede ser no contiguo.


Se divide la memoria fsica en bloques de

tamao fijo llamados marcos (frames).


Se divide la memoria en bloques de tamao

llamados pginas.

Se mantiene informacin en los marcos libres.

Para correr un programa de n paginas de


tamao, se necesitan encontrar n marcos y
cargar el programa.
Se establece una tabla de pginas para

trasladar las direcciones lgicas a fsicas.


Se produce fragmentacin interna.

Ventajas de la paginacin
Es posible comenzar a ejecutar un programa, cargando

solo una parte del mismo en memoria, y el resto se


cargara bajo la solicitud.
No es necesario que las paginas estn contiguas en

memoria, por lo que no se necesitan procesos de


compactacin cuando existen marcos de paginas libres
dispersos en la memoria.
Es fcil controlar todas las pginas, ya que tienen el

mismo tamao.

El mecanismo de traduccin de direcciones (DAT) permite

separar los conceptos de espacio de direcciones y espacios de


memoria. Todo el mecanismo es transparente al usuario.
Se libera al programador de la restriccin de programar para

un tamao fsico de memoria, con lo que s e aumenta su


productividad. Se puede programar en funcin de una memoria
mucho ms grande a la existente.
Al no necesitarse cargar un programa completo en memoria

para su ejecucin, se puede aumentar el nmero de programas


multiprogramndose.
Se elimina el problema de fragmentacin externa.

Desventajas de la
paginacin
El costo de hardware y software se incrementa, por

la nueva informacin que debe manejarse y el


mecanismo de traduccin de direcciones necesario.
Se consumen muchos ms recursos de memoria,

tiempo en el CPU para su implantacin.


Se deben reservar reas de memoria para las tabla

de Mapas de Pagina (PMT) de los procesos.

Al no ser fijo el tamao de estas, se crea un problema

semejante al de los programas (cmo asignar un tamao


ptimo sin desperdicio de memoria, o tiempo desperdiciado
del procesador).
Aparece el problema de fragmentacin interna. As, si se

requieren 5K para un programa, pero las pginas son de 4K,


debern asignrseles 2 pginas (8k), con lo que quedan 3K
sin utilizar. La suma de los espacios libres dejados de esta
forma puede ser mayor que el de varias pginas, pero no
podr ser utilizado.
Debe asignarse un tamao promedio a las pginas, evitando

que si son muy pequeas, se necesiten tablas PMT muy

FIN