Anda di halaman 1dari 18

Sistemas Operativos

Tema: Administracin de la Memoria

Ing. Jorge Antonio Vildoso Rodrguez

INTRODUCCIN A LA
ORGANIZACIN DEL
ALMACENAMIENTO VIRTUAL
El Almacenamiento virtual es la capacidad de
direccionar un espacio de almacenamiento mucho
mayor que el disponible en el almacenamiento
primario de determinado sistema de computacin.

Esta tecnologa apareci en 1960 en la Universidad


de Manchester (Inglaterra), en el sistema Atlas.

Los mtodos ms comunes de implementacin


son mediante:

Tcnicas de paginacin.
Tcnicas de segmentacin.
Una combinacin de ambas
tcnicas.
Las direcciones generadas por los programas en su ejecucin no
son, necesariamente, aquellas contenidas en el almacenamiento
primario (memoria real), ya que las direcciones virtuales
suelen seleccionarse dentro de un nmero mucho mayor de
direcciones que las disponibles dentro del almacenamiento

La evolucin en las organizaciones de


almacenamiento puede resumirse como sigue:

Real:

Real:

Virtual
:

Sistemas dedicados a un solo usuario.

Sistemas de multiprogramacin en memoria real:


Multiprogramacin en particin fija:
Absoluta.
Relocalizable (reubicable).
Multiprogramacin en particin variable.

Multiprogramacin en almacenamiento
virtual:
Paginacin pura.
Segmentacin pura.
Combinacin paginacin / segmentacin.

CONCEPTOS BSICOS DE
ALMACENAMIENTO VIRTUAL
La clave del concepto de memoria (almacenamiento)
virtual esta en la disociacin:
De las direcciones a las que hace referencia un

programa.
De las direcciones disponibles en la memoria real

(almacenamiento primario).

Los principales conceptos son los siguientes:


Direcciones virtuales:
Son las referidas por un proceso en ejecucin.
Direcciones reales:
Son las disponibles dentro del almacenamiento
primario.
Espacio de direcciones virtuales (v) de un proceso:
Es el nmero de direcciones virtuales a que puede
hacer referencia el proceso.
Espacio de direcciones reales (r) de un computador:
Es el nmero de direcciones reales disponibles en el
ordenador.

Los procesos hacen referencia a direcciones

virtuales pero stas deben ejecutarse en el


almacenamiento
real:
Las
direcciones
virtuales deben ser transformadas dentro de
las direcciones reales, mientras el proceso
est en ejecucin.
La traduccin de direcciones deber hacerse

rpidamente para no degradar al sistema.

Existen varios medios para asociar


direcciones virtuales con las reales.

las

Los mecanismos de traduccin dinmica de direcciones (dat)


convierten las direcciones virtuales en reales al ejecutarse el

Las direcciones contiguas dentro del espacio de


direcciones virtuales de un proceso no tienen por
qu ser contiguas dentro del almacenamiento real,
a esto se denomina contigidad artificial .

ORGANIZACIN DEL
ALMACENAMIENTO DE NIVELES
MLTIPLES
Se deben proporcionar los medios para retener
programas y datos en un gran almacenamiento
auxiliar para:
Permitir que el espacio de direcciones
virtuales de un usuario sea mayor que el
espacio de direcciones reales.
Soportar multiprogramacin de forma efectiva

en un sistema con muchos usuarios que


compartan el almacenamiento real.

Se utiliza un esquema
de almacenamiento
de dos niveles:
Primer nivel:
almacenamiento
real :
En l se ejecutan

los procesos y en l
deben estar los
datos para que un
proceso
pueda
referirse a ellos.

Segundo nivel: almacenamiento auxiliar, secundario o

adicional :
Generalmente consta de discos de gran capacidad que

pueden mantener los programas y datos que no caben al


mismo tiempo en el ms limitado almacenamiento real.

Cuando se va a ejecutar un proceso su cdigo y datos se


pasan al almacenamiento principal.
El almacenamiento real es compartido por varios
procesos:
Cada proceso puede tener un espacio de direcciones
virtuales mucho mayor que el almacenamiento real.
Solo se mantiene al mismo tiempo una pequea parte
de los programas y datos de cada proceso en el
almacenamiento real.

TRANSFORMACIN DE BLOQUES
Los mecanismos de traduccin dinmica de
direcciones deben mantener mapas que ilustren
qu direcciones del almacenamiento virtual se
encuentran en el almacenamiento real y dnde se
encuentran.
La informacin se agrupa en bloques:
El sistema est informado del lugar del
almacenamiento real donde han sido colocados
los bloques de almacenamiento virtual.
Cuanto mayor sea el bloque menor ser la
fraccin del almacenamiento real que debe
dedicarse a contener la informacin del mapa.

Con bloques grandes:


Se reduce la sobrecarga de almacenamiento del mecanismo
de transformacin.
Se incrementa el tiempo de transferencia entre los
almacenamientos secundario y primario.
Consumen ms almacenamiento real pudiendo limitar el
nmero de procesos que pueden compartirlo.
Los bloques pueden ser de tamao:
Igual

: se denominan pginas y la organizacin de


almacenamiento virtual asociada se denomina paginacin.
Diferente: se denominan segmentos y la organizacin de
almacenamiento
virtual
asociada
se
denomina
segmentacin.

Se pueden combinar ambas tcnicas: segmentos de

tamao variable compuestos de pginas de tamao fijo.

Las direcciones son bidimensionales, es

decir que una direccin virtual v se indica


por un par ordenado (b,d), donde: b:
nmero del bloque donde reside.
d: desplazamiento a partir del inicio del

bloque.
La traduccin de una direccin virtual v =
(b,d) a la direccin real r considera lo
siguiente:
Cada proceso tiene su tabla de mapa de
bloques mantenida por el sistema en el
almacenamiento real.

Un registro especial del procesador llamado registro

origen de la tabla de bloques se carga con la


direccin real a de la tabla de mapa de bloques:
Contiene una entrada para cada bloque del
proceso.
Las entradas se mantienen en orden secuencial
para el bloque 0, bloque 1, etc.
Se aade el bloque nmero b a la direccin base
a de la tabla de bloques para formar la
direccin real de la entrada de la tabla de mapa
de bloques para el bloque b:
Contiene la direccin real b para el bloque
b.
El desplazamiento d se aade a la direccin de
inicio del bloque, b , para formar la direccin

La transformacin de bloques se efecta en


forma dinmica mientras se ejecuta un proceso,
por lo cual, si la implementacin no es eficiente,
su sobrecarga puede causar una degradacin
del rendimiento que podra eliminar en parte las
ventajas de la utilizacin del almacenamiento
virtual.