0% encontró este documento útil (0 votos)
101 vistas19 páginas

Almacenamiento Virtual en Sistemas Operativos

Este documento describe el almacenamiento virtual y sus conceptos fundamentales como la memoria virtual, la paginación y la segmentación. Explica que la memoria virtual permite a los programas ejecutarse como si tuvieran más espacio de memoria del que físicamente existe mediante el uso combinado de la memoria principal y secundaria. También describe cómo la paginación y la segmentación traducen direcciones virtuales a direcciones físicas para implementar la memoria virtual.

Cargado por

Max Fernando
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
101 vistas19 páginas

Almacenamiento Virtual en Sistemas Operativos

Este documento describe el almacenamiento virtual y sus conceptos fundamentales como la memoria virtual, la paginación y la segmentación. Explica que la memoria virtual permite a los programas ejecutarse como si tuvieran más espacio de memoria del que físicamente existe mediante el uso combinado de la memoria principal y secundaria. También describe cómo la paginación y la segmentación traducen direcciones virtuales a direcciones físicas para implementar la memoria virtual.

Cargado por

Max Fernando
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL

DE TRUJILLLO
FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA DE SISTEMAS

TEMA:

SISTEMAS OPERATIVOS

ALMACENAMIENTO VIRTUAL

PROFESOR:

Mg. AGREDA GAMBOA EVERSON DAVID

INTEGRANTES:

 AGÜERO VILLACORTA WALTER


 RODRIGUEZ ARRIVASPLATA BRENDA
 TACILLA VILELA MAX
 ZEGARRA DIAZ ALISSON
ÍNDICE
I. INTRODUCCIÓN A EL ALMACENAMIENTO VIRTUAL ............................................ 3
a. MEMORIA VIRTUAL ...................................................................................................... 3
b. APARICIÓN ..................................................................................................................... 4
c. EVOLUCIÓN DE LAS ORGANIZACIONES DE ALMACENAMIENTO .................. 4
d. ORGANIZACIÓN DEL ALMACENAMIENTO............................................................. 5
e. OPERACIÓN BÁSICA ................................................................................................... 7
f. TRANSFORMACIÓN DE BLOQUES .......................................................................... 8

II. PAGINACIÓN ..................................................................................................................... 9


a. CONCEPTOS DE PAGINACIÓN ................................................................................. 9
b. HARDWARE DE PAGINACIÓN ................................................................................. 11
c. TRADUCCIÓN DE DIRECCIONES DE PAGINACIÓN POR
TRANSFORMACIÓN DIRECTA ........................................................................................ 11
d. TRADUCCIÓN DE DIRECCIONES DE PAGINACIÓN POR
TRANSFORMACIÓN ASOCIATIVA .................................................................................. 12
e. TRADUCCIÓN DE DIRECCIONES DE PAGINACIÓN POR
TRANSFORMACIÓN ASOCIATIVA / DIRECTA ............................................................. 12
f. COMPARTIMENTO DE RECURSOS EN UN SISTEMA DE PAGINACIÓN ...... 13

III. SEGMENTACIÓN ........................................................................................................ 13


a. CONCEPTO DE SEGMENTACIÓN .......................................................................... 13
b. EJEMPLO DE SEGMENTACIÓN .............................................................................. 16

IV. SISTEMAS DE PAGÍNACIÓN / SEGMENTACIÓN ............................................... 17


a. CONCEPTO DE PAGINACIÓN / SEGMENTACIÓN .............................................. 17
b. PAGINACIÓN / SEGMENTACIÓN ............................................................................ 18

V. BIBLIOGRAFÍA............................................................................................... 19
ALMACENAMIENTO VIRTUAL
I. INTRODUCCIÓN A EL ALMACENAMIENTO VIRTUAL

a. MEMORIA VIRTUAL
Una de las característica de la memoria principal es que es
limitada y en esta coexisten distintos programas en ejecución,
procesos o tareas, que se reparten tiempo en el CPU.
DESVENTAJAS
- Tenemos un espacio de memoria principal pequeño,
normalmente limitado:
Antes se dividían los programas en partes que
posteriormente se cargaban poco a poco de discos a
memoria conforme se necesitaba
- Compartición de memoria:
Tenemos varios procesos que coexisten, en el sentido que
también, un proceso no puede hacer áreas de memoria del
otro proceso.
Un proceso puede solo leer y escribir las partes de memoria que
tienen asignada.
Con lo cual, surge el concepto de memoria virtual
LA MEMORIA VIRTUAL
La memoria virtual es una simuladora de espacio mayor que la
memoria física lo que le permite la ejecución de los programas sin
tener en cuenta el tamaño real de la memoria física.
PERMITE
- Al software ejecutar programas de capacidad superior a la
memoria que físicamente tiene un computador.
- Aumenta el número procesos en la memoria principal, en
ejecución concurrente.
- Cuando se necesita espacio mayor del que se tiene en la
memoria, las aplicaciones mantendrán un poco de su
información en el disco trasladándola a la memoria cuando
esta sea requerida.

La memoria virtual posee un hardware especial y un


sistema operativo, la cual hace uso de la memoria
principal y la secundaria para lograr un mayor
espacio en la memoria principal de la computadora.
b. APARICIÓN

En el año de 1962 en la universidad de Manchester se puso en


funcionamiento una de las primeras supercomputadoras, el Atlas.
Diseñado conjuntamente entre las compañías Ferranti y Plessley
y la universidad de Manchester, el ordenador Atlas fue el más
rápido hasta la salida del CDC 6600 en 1965.

Gracias a su innovadora incorporación de Almacenamiento


Virtual, en aquél momento se llegó a afirmar que ella sola suponía
la mitad de la capacidad de computación de todo el Reino Unido.
Se trataba de un equipo de segunda generación que
usaba transistores de germanio.

Se fabricaron otras dos máquinas Atlas: una para la British


Petroleum y la Universidad de Londres, y otra para el Laboratorio
de Informática Atlas en Chilton, cerca de Oxford.

c. EVOLUCIÓN DE LAS ORGANIZACIONES DE


ALMACENAMIENTO

Al principio todos los sistemas operativos eran


monoprogramados. Este tipo de gestión implica que todos los
recursos del ordenador están a disposición del único programa en
ejecución. La memoria principal sólo le indica al sistema operativo
y a dicho programa que solamente él tiene permiso de estar
utilizando el procesador. La CPU ejecuta el programa desde su
inicio hasta su fin ininterrumpidamente.

En un sistema operativo multiprogramado la memoria principal


que ejecuta varios programas simultáneamente. La ejecución de
uno de los programas almacenados en la memoria principal
puede ser interrumpida por el sistema operativo para ejecutar otro
de los programas situados en la memoria. La ejecución del
programa interrumpido será reanudada posteriormente por el
sistema operativo por el lugar en el que se interrumpió. El
programa no es consciente de que se ejecuta discontinuamente
en el tiempo.

Multiprogramación de particiones fijas: Divide la memoria en


varias particiones de tamaño fijo y cada partición contiene un
proceso.
Multiprogramación de particiones variables: Cada proceso
ocupa tanto espacio como necesite, pero no puede superar el
espacio disponible de memoria.

d. ORGANIZACIÓN DEL ALMACENAMIENTO


Si se va a permitir que el espacio de direcciones virtuales del
usuario sea más grande que el espacio de direcciones reales, y
además se va a multiprogramar el sistema permitiendo que varios
usuarios compartan el recurso de almacenamiento real, será
preciso proporcionar un almacenamiento auxiliar que toma el
nombre de memoria virtual para mantener los programas y los
datos que no caben en el almacenamiento real. Para lograr esto
se utiliza un esquema de almacenamiento de dos niveles.

ALMACENAMIENTO PRINCIPAL:
 También conocido como Primario o Real.
 Se ejecutan los procesos.
 Debe encontrarse las instrucciones y los datos del proceso
que está ejecutando en cada momento.
ALMACENAMIENTO AUXILIAR:
 También llamado Secundario o Adicional.
 Es de un tamaño mucho mayor que el Almacenamiento
Principal.
 Capaz de almacenar los datos y programas que no se
pueden mantener en el Almacenamiento Real.
 Generalmente consta de discos de gran capacidad.
De esta forma, cuando se va a ejecutar un proceso, su código y
datos se pasan al Almacenamiento Principal.
El Almacenamiento Real es compartido por varios procesos
donde cada proceso puede tener un espacio de direcciones
virtuales mucho mayor que en el Almacenamiento Real. Solo se
mantiene al mismo tiempo una pequeña parte de los programas y
datos de cada proceso en el Almacenamiento Real.
e. OPERACIÓN BÁSICA
Tenemos un espacio de direcciones virtual que cuenta con mayor
tamaño que el espacio de direcciones físicas, en el cual una de
las partes de los programas están cargadas en memoria, que son
aquellas partes que están utilizándose.
Para poder implementar esto, existe una unidad de administración
de memoria (MMU) que traduce las direcciones virtuales en
direcciones físicas.
TRADUCCION DE DIRECCIONES VIRTUALES A
DIRECCIONES REALES.

Para poder comprender el mecanismo de Transformación de


Direcciones Virtuales, es necesario entender los siguientes
conceptos:

 Direcciones virtuales: Son las direcciones a las que hace


referencia un proceso en ejecución.
 Direcciones reales: Son las disponibles dentro de la
memoria real.
 Espacio de direcciones virtuales: Es el número de
direcciones virtuales a que puede hacer referencia el
proceso en ejecución.
 Espacio de direcciones reales: Es el número de
direcciones reales disponibles en la computadora.

- Solo una parte de la memoria de cada programa se usa


activamente en un instante de tiempo.
- La memoria principal solo contiene las partes activas de los
programas de ejecución.

En los sistemas de almacenamiento virtual ya implantados el


espacio de direcciones virtuales es mayor que el espacio de
direcciones reales. Esta posibilidad que brinda la memoria virtual
es la que permite hacer programas de mayor tamaño que
memoria física.

Las direcciones generadas por los programas en su ejecución no


son, necesariamente, aquellas contenidas en la memoria primaria
(memoria real), ya que las direcciones virtuales suelen
seleccionarse dentro de un número mucho mayor de direcciones
que las disponibles dentro la memoria física
Por esta razón debemos tener en cuenta que los procesos hacen
referencia a direcciones virtuales pero estas direcciones deben
ser transformadas en direcciones reales para que dichos
procesos se puedan ejecutar.
Para poder referir a las direcciones virtuales, estas deben ser
traducidas, o mapeadas, en direcciones de memoria física por un
mecanismo de "traducción de direcciones", es decir:

 Las direcciones virtuales deben ser transformadas dentro


de las direcciones reales, mientras el proceso está en
ejecución.
 La traducción de direcciones deberá hacerse rápidamente
para no hacer lento el sistema.

Esta gráfica representa 4 procesos cualesquiera, (representados


con un color gris) cuando se mandan a ejecutar alguno de ellos,
estos procesos se cargan en la memoria virtual lo que quiere
decir que referencian a direcciones virtuales pero para poderse
cargar en la memoria física, estas direcciones virtuales deben ser
transformadas mediante un mecanismo de transformación de
direcciones (directo, asociativo o asociativo-directo) a direcciones
reales, y como se muestra, no necesariamente están cargados en
la memoria física de una manera contigua.

Este mecanismo, que nos introduce en el concepto de "dirección


virtual". Se llama de esta manera porque no corresponde
directamente a posiciones de memoria "física", sino que a través
de una "función de mapeado" equivale a una dirección de
memoria física.

f. TRANSFORMACIÓN DE BLOQUES
La información 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 fracción del
almacenamiento real que debe dedicarse a contener la
información del mapa.
Con bloques grandes se incrementa el tiempo de transferencia
entre los almacenamientos secundario y primario y consumen
más almacenamiento real.
Las direcciones son “bidimensionales”:
Una dirección virtual “v” se indica por un par ordenado “(b,d)”
donde:

- “b”: n° del bloque donde reside.


- “d”: desplazamiento a partir del inicio del bloque.

La traducción de una dirección virtual v = (b,d) a la dirección real


“r” considera lo siguiente:
- Un registro especial del procesador llamado “registro
origen de la tabla de bloques” se carga con la dirección
real “a” de la “tabla de mapa de bloques”:

II. PAGINACIÓN
a. CONCEPTOS DE PAGINACIÓN
La paginación es uno de los esquemas de manejo de memoria en
donde un computador puede almacenar y recuperar datos de un
dispositivo de almacenamiento secundario, como un disco duro, para
su uso en la memoria principal.
Permite que la memoria de un proceso no sea contigua, y que a un
proceso se le asigne memoria física donde quiera que ésta esté
disponible.
En sistemas operativos de computadoras, los sistemas de paginación
de memoria dividen los programas en pequeñas partes o páginas.
Cada página física se asigna en exclusividad a un proceso del
programa.
El método básico para implementar paginación consiste en dividir la
memoria física en bloques de tamaño fijo llamados frames (marcos
de página) y dividir la memoria lógica en bloques de mismo tamaño
llamados pages (páginas).
Todo proceso tiene su propio espacio de páginas lógicas, cada
página lógica está mapeada a un marco. El mapeo entre páginas
lógicas y páginas físicas se mantiene en la tabla de páginas. Cada
proceso dispone de su propia tabla de páginas.
En un momento cualquiera, la memoria se encuentra ocupada con
páginas de diferentes procesos, mientras que algunos marcos están
disponibles para su uso.
El sistema operativo mantiene una lista de estos últimos marcos, y
una tabla por cada proceso, donde consta en qué marco se
encuentra cada página del proceso. De esta forma, las páginas de un
proceso pueden no estar contiguamente ubicadas en memoria, y
pueden intercalarse con las páginas de otros procesos.

Para lograr el mapeo entre las páginas y los marcos de páginas se


dispone de un sistema de traducción incluido en la unidad de
administración de memoria o unidad de manejo de memoria (MMU).
Este proceso de traducción crea, por tanto, un espacio lógico (o
mapa) independiente para cada proceso proyectándolo sobre la
parte correspondiente de la memoria principal de acuerdo con una
función de traducción:

 Traducción (dirección lógica o virtual) → dirección física. El


traductor de memoria paginada toma la dirección lógica y, por
medio de la tabla de página, obtiene la dirección física real.

Cualquier dirección generada por la CPU es divida en dos partes: un


número de página (P) y un offset de página (D). El número de página
es usado como índice en una tabla de página.
La tabla de página contiene las direcciones base de cada página en
la memoria física. Esta dirección base es combinada con el offset de
página para definir la dirección de memoria física que es enviada a la
unidad de memoria.
Un proceso en ejecución hace referencia a una dirección virtual “V =
(P,D)”. La dirección de almacenamiento real se forma por la
concatenación de P’ y D.
Un mecanismo de traducción de páginas busca la página “P” en la
“tabla de páginas”.
La tabla de “mapa de páginas” debe indicar si se encuentra o no en
el almacenamiento primario la página referenciada:

 En caso afirmativo donde está en la memoria real.


 En caso negativo donde puede estar en el almacenamiento
secundario.
Solo existe un directorio de tabla de páginas en el sistema, y que el
formato de la entrada de una tabla de páginas es la misma que para
una entrada del directorio de páginas. La principal diferencia es que
una entrada del directorio de páginas contiene la dirección física de
una tabla de página.

b. HARDWARE DE PAGINACIÓN
El tamaño de página (como el marco de página) es definido por
hardware. El tamaño de una página es típicamente una potencia de
2, variando entre 512 B y 16 MB por página, dependiendo de la
arquitectura del computador.
La selección de una potencia de 2 como tamaño de página hace la
traducción de una dirección lógica a un número de página y offset de
página algo fácil. Si el tamaño del espacio de dirección lógica es 2^m
y el tamaño de página 2^n unidades de dirección (bytes o palabras),
entonces los m-n bits de mayor orden de la dirección lógica designan
el número de página, y los n bits de menor orden designan el offset
de página.

Por ejemplo, en un procesador de 32 bits:

 Con un tamaño de página de 4 Kbytes = 2^12, se emplean 12 bits


para el desplazamiento dentro de la página. Es decir, para
referenciar los datos que una página contiene. Los restantes 20
bits más significativos indican el número de página.

c. TRADUCCIÓN DE DIRECCIONES DE PAGINACIÓN POR


TRANSFORMACIÓN DIRECTA
Antes que un proceso comience su ejecución, el S.O. carga la
dirección de almacenamiento primario de la “tabla de mapa de
páginas” en el “registro origen de la tabla de mapa de páginas”.
Si la dirección base de la tabla de mapa de páginas es “B”. El N° de
página es “P”.
Entonces la dirección en el almacenamiento primario de la entrada en
la tabla de mapa de páginas para la página “P” es “B + P”:

 Indica que el marco de página P’ corresponde a la página virtual.


 P’ se concatena con el desplazamiento “D” para formar la
dirección real “R”.LA DE MAPA DE PAGINAS TRANSFORMADA
DIRECTAMENTE

La tabla de mapa de páginas transformada directamente suele


mantenerse en el almacenamiento primario, para esto las referencias
a esta tabla requieren un ciclo completo de almacenamiento primario,
generalmente es la parte más larga de un ciclo de ejecución de
instrucciones.
d. TRADUCCIÓN DE DIRECCIONES DE PAGINACIÓN POR
TRANSFORMACIÓN ASOCIATIVA
Una forma de acelerar la traducción dinámica de páginas consiste en
colocar la tabla completa de mapa de páginas en un
“almacenamiento asociativo” que tenga un tiempo de ciclo mucho
más rápido que el almacenamiento primario.
Una variante es la “transformación asociativa pura”, donde un
programa en ejecución hace referencia a la dirección Virtual V =
(P,D).
Cada entrada en el almacenamiento asociativo se busca de forma
simultánea para la página “P”:

 Se obtiene P’ como el marco de página correspondiente a la


página “P”.
 se concatena P’ con “D” formando la dirección real “R”.

e. TRADUCCIÓN DE DIRECCIONES DE PAGINACIÓN POR


TRANSFORMACIÓN ASOCIATIVA / DIRECTA
Se utiliza un almacenamiento asociativo capaz de mantener solo un
pequeño porcentaje del mapa completo de página para un proceso.
Las entradas de página contenidas en este mapa reducido
corresponden solo a las páginas referenciadas recientemente.
Si un programa en ejecución hace referencia a la dirección Virtual V
= (P,D).
El mecanismo de traducción de direcciones intenta encontrar la
página “P” en el mapa de página asociativo parcial:
 Si “P” se encuentra allí: el mapa asociativo devuelve P’
como el N° de marco de página correspondiente a la página
virtual “p”.

P’ se concatena con el desplazamiento “D” para formar la


dirección real “R” que corresponde a la dirección Virtual V = (P,D).

 Si “P” no se encuentra en el mapa de página parcial: se


utiliza un mapa directo convencional. La dirección “B” del
registro de origen de la tabla de páginas se añade a “P” para
localizar la entrada apropiada a la página “P” en la tabla de
mapa de páginas de transformación directa del
almacenamiento primario.

La tabla indica que P’ es el marco de página correspondiente a la


página virtual P. P’ se concatena con el desplazamiento “D” para
formar la dirección real “R” correspondiente a la dirección virtual V
= (P,D).
f. COMPARTIMENTO DE RECURSOS EN UN SISTEMA DE
PAGINACIÓN
En sistemas multiprogramados, especialmente en los de tiempo
compartido, es común que más de un usuario estén ejecutando los
mismos programas:
Para optimizar el uso de la memoria real se comparten las páginas
que pueden ser compartidas:
 El compartimiento debe ser cuidadosamente controlado para
evitar que un proceso modifique datos que otro proceso está
leyendo.
 Los programas se encuentran divididos en áreas separadas de
“procedimiento” y “datos”.
 Los procedimientos no modificables se llaman “procedimientos
puros reentrantes”.
 Los datos y procedimientos modificables no pueden ser
compartidos.
 Los datos no modificables (ej.: tablas fijas) son compartibles.
Se debe identificar cada página como compartible o no. Habrá
marcos (celdas) de páginas compartidos por varios procesos.

El compartimiento:
 Reduce la cantidad de almacenamiento primario
 Necesario para la ejecución eficaz de un grupo de Procesos.
 Puede hacer posible que un sistema determinado mantenga
una cantidad mayor de usuarios (procesos).

III. SEGMENTACIÓN

a. CONCEPTO DE SEGMENTACIÓN
El espacio de direcciones lógicas se compone de un conjunto de
segmentos: Cada uno tiene un nombre y una longitud.

 Para el usuario las direcciones especifican el nombre del


segmento y el desplazamiento dentro de él.
 El nombre del segmento se numera (es un número).
<número segmento, desplazamiento>

Tabla de mapa de segmentos:

– base (dirección física inicial del segmento en memoria)


– límite de segmento (longitud del segmento)
DIRECCION VIRTUAL EN UN SISTEMA DE SEGMENTACION
PURA

Existen varias estrategias para la implementación de la traducción de


direcciones de segmentación:

 Por transformación directa, asociativa o combinación de asociativa


/ directa.
 Con cache suficiente para alojar la tabla completa de mapa de
segmentos o cache parciales que contengan solo las entradas de
los segmentos de referencia más reciente.
Se considerará la traducción de direcciones de segmentación con
la tabla completa de mapa de segmentos en la cache.
Un proceso en ejecución hace referencia a la dirección virtual v =
(S,D):
 El segmento n° “S” se añade a la dirección base “B” en el registro
origen de la tabla de mapa de segmentos formando la dirección
de memoria real “B + S”, de la entrada para el segmento “S” de la
tabla de mapa de segmentos:

 La tabla contiene la dirección del almacenamiento primario


“S‘ “, donde comienza el segmento.

 El desplazamiento “D” se añade a “S ‘ “ formando la dirección real


“R = D + S ‘ “, correspondiente a la dirección virtual “v = (S,D)”.
Un “bit de residencia”, “R”, indica si en la actualidad el segmento
se encuentra o no en el almacenamiento primario.
Si el segmento se encuentra en el almacenamiento primario:
 “S ‘ “ es la dirección en este almacenamiento donde comienza el
segmento.
Si el segmento no se encuentra en el almacenamiento primario:
 “A” es la dirección en el almacenamiento secundario de donde
debe recuperarse antes que el proceso pueda continuar.
Se compara cada referencia a un segmento con los bits de
protección para determinar si se permite la operación que se está
intentando.
Si el segmento buscado no está en el almacenamiento primario se
genera un “fallo de perdida de segmento”:
 El S.O. obtiene el control y carga el segmento referido desde la
dirección “A” del almacenamiento secundario.
 Se comprueba si el desplazamiento “D” es menor o igual a la
longitud del segmento “L”:

 Si no es así se genera un “fallo de desbordamiento de


segmento”:

- El S.O. obtiene el control y termina la ejecución del proceso.

 Si el desplazamiento está en el rango del segmento.

Se comprueban los bits de protección para asegurarse si se


permite la operación que se está intentando:

- Si es así entonces la dirección base del segmento, “S ‘ “, en


el almacenamiento primario se añade al desplazamiento “d”
formando la dirección de memoria real “R = S ‘ + D”, que
corresponde a la dirección del almacenamiento virtual “v = (S,
D)”.
- Si la operación intentada no se permite se genera un “fallo
de protección de segmento”:

- El S.O. obtiene el control y termina la ejecución del proceso.

ENTRADA DE TABLA DE MAPA DE SEGMENTOS


b. EJEMPLO DE SEGMENTACIÓN
IV. SISTEMAS DE PAGÍNACIÓN / SEGMENTACIÓN

a. CONCEPTO DE PAGINACIÓN / SEGMENTACIÓN


DIRECCIONES VIRTUALES CON COMBINACIÓN DE
TRANSFORMACIÓN ASOCIATIVA / DIRECTA

Ofrecen las ventajas de las dos técnicas de organización del


almacenamiento virtual.

 El tamaño de los segmentos es múltiplo del de las páginas.


 No es necesario que todas las páginas de un segmento se
encuentren al mismo tiempo en el almacenamiento primario.
 Las páginas de almacenamiento virtual, que son contiguas en
este almacenamiento, no necesitan ser contiguas en el
almacenamiento real.
 El direccionamiento es tridimensional con una dirección de
almacenamiento virtual “v = (S,P,D)”:
“S” es el n° del segmento; “P” es el n° de página y “D” es el
desplazamiento en la página donde se encuentra asignado el
elemento deseado.

b. PAGINACIÓN / SEGMENTACIÓN
Se considera la traducción dinámica de direcciones de virtuales a
reales en un sistema de paginación / segmentación utilizando la
combinación de transformación asociativa / directa.

El proceso en ejecución hace referencia a la dirección virtual v = (S,


P, D).

Las páginas de referencia más reciente tienen entradas en un


almacenamiento asociativo.

Se realiza una búsqueda asociativa para intentar localizar (S, P) en el


almacenamiento asociativo:

 Si se encuentra (S, P), entonces el marco de página “P ‘ “


en el cual reside dicha página en la memoria real, se
concatena al desplazamiento “D” para formar la dirección
de memoria real “R” correspondiente a la dirección virtual
v= (S, P, D).

 Si no se encuentra (S, P), entonces:

o La dirección base “B” de la tabla de segmentos se


añade al n° de segmento “S” formando la dirección
“B + S” de la entrada de la tabla de mapa de
segmentos para el segmento “S” de la memoria real.
o La entrada de la tabla de mapa de segmentos indica
la dirección base “S ‘ “ de la tabla de páginas para el
segmento “S”.
o El n° de página “P” se añade a “S ‘ “ formando la
dirección “P + S ‘ “ de la entrada en la tabla de
páginas para la página “P” del segmento “S”:

 Indica que “P ‘ “ es el n° del marco


correspondiente a la página virtual “p”.
 “P ‘ “ se concatena con el desplazamiento “D”
formando la dirección real “R” que
corresponde a la dirección virtual v = (S, P,
D).

Si el segmento “S” no se encuentra en el almacenamiento primario se


produce un “fallo de perdida de segmento”:

 El S.O. localiza el segmento en el almacenamiento


secundario, crea una tabla de páginas para el segmento y
carga la página apropiada en el almacenamiento primario,
pudiendo producir reemplazos de páginas.

Si el segmento “S” está en el almacenamiento primario y si la


referencia a la tabla de mapa de páginas indica que la pagina
deseada no se encuentra en el almacenamiento primario se produce
un “fallo de perdida de página”:

 El S.O. obtiene el control, localiza la página en el


almacenamiento secundario y la carga, pudiendo reemplazar
otra página.

Si una dirección de almacenamiento virtual está más allá del final del
segmento se genera un “fallo de desbordamiento de segmento”; debe
ser atendido por el S.O.

Si los bits de protección indican que la operación que se va a ejecutar


en la dirección virtual referida no se permite se genera un “fallo de
protección de segmento”; debe ser atendido por el S.O.

V. BIBLIOGRAFÍA:

- Martinez, David. “Sistemas Operativos”. Universidad Nacional del


Nordeste. Argentina, 2002, 926 págs.

- Paginación. En Wiki informática de la UTFSM. Recuperado el 28 de


mayo de 2018 de [Link]

- Paginación de memoria. En Wikipedia. Recuperador el 28 de mayo de


2018 de [Link]

- Unidad de gestión de memoria. En Wikipedia. Recuperado el 28 mayo


de 2018 [Link]

- Privitera, Carlos. (5 de julio de 2017). Sistema Operativo, Memoria RAM


física y memorias RAM virtual. Recuperado de
[Link]
[Link]

También podría gustarte