Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


La memoria virtual, Apuntes de Ingeniería del Software

Asignatura: Estructura de los computadores, Profesor: José Jaime Ruiz Ortiz, Carrera: Ingeniería de Software, Universidad: UCM

Tipo: Apuntes

2012/2013

Subido el 13/05/2013

plandevida
plandevida 🇪🇸

4.3

(23)

15 documentos

1 / 19

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Tema 9: Memoria Virtual
Tema
9:
Memoria
Virtual
.
1. Gestión de memoria.
2. Memoria virtual.
3
Miitlid
3
.
M
emor
i
a v
i
r
t
ua
l
pag
i
na
d
a.
4. Memoria virtual segmentada.
5. Ejemplo
1
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Vista previa parcial del texto

¡Descarga La memoria virtual y más Apuntes en PDF de Ingeniería del Software solo en Docsity!

Tema 9: Memoria VirtualTema

9: Memoria Virtual.

Gestión de memoria.

Memoria virtual.

M

i

i t

l

i

d

Memoria virtual paginada.

Memoria virtual segmentada.

Ejemplo

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Gestión de memoria

El sistema de memoria virtual de los actuales computadores surgió para liberar al programadorEl

sistema de memoria virtual de los actuales computadores surgió para liberar al programador

de una serie de tareas relacionadas con el uso que los programas debían realizar con la memoria •

La memoria virtual automatiza la gestión entre los dos niveles principales de la jerarquía de memoria: memoria principal y disco. •

El mecanismo más importante que gestiona la memoria virtual es el de la paginación, que surgió de la necesidad de mantener más de un programa residente en memoria cuando la capacidad deésta es inferior a la suma de los tamaños de los programas. •

Se trata de un mecanismo automático en el que el espacio de memoria principal se divide en bloques de tamaño fijo denominados páginas. •

Los programas se dividen también en páginas y residen en el disco.

El sistema se encarga de asignar páginas físicas a los programas en ejecución

Memoria principal

M

M

M

M

M1 M

Disco

M2^ e/s

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Esquema general del mecanismo de traducción de direcciones

CPU

Memoria virtual

Número de Página Virtual (NPV)

Desplaz. Página (DP)

Dirección Virtual (DV)

-^

Los bits de una DV se consideran divididos en dos campos, el número

de

página

virtual

(NPV)

los

más

significativos,

y

el

desplazamiento dentro de la página

(DP), los menos significativos.

-^

El número de bits del campo DP lo determina el tamaño de página (^

º^ d

b

d

DP

l^

ñ

d

á

)

Tabla de Páginas

Página 0Página 1Página 2Página 3Página 4

control pv 0

pag. física f-

control pv 1

pag. física 2

Reg. Base Tabla de Paginas Sumador

( nº de bits de DP = log

2

tamaño de página

).

-^

El número de bits del campo NPV lo determina el número de páginas virtuales (

nº de bits de NPV = log

2

nº de páginas virtuales

).

-^

Los bits de una DF se consideran divididos también en dos campos, el

número de página física

(

NPF) los más significativos, y

v 2 páginas

Memoria física

Número de Página Física (NPF)

Desplaz. Página (DP)

Dirección Física (DF)

Página 4Página 5

p^

p g

control pv 2

pag. física 1

control pv v-

pag. física 0

control pv v-

pag. en disco

p

,^

p g

f^

(^

)^

g

, y

el

desplazamiento

dentro

de

la

página

(DP),

los

menos

significativos. •^

El número de bits del campo DP de una DF es el mismo que el de una DV puesto que las páginas tienen igual tamaño en MV y MF. •^

El número de bits del campo NPF lo determina el número de

Página 0Página 1Página 2

Página 2

v^ -

Memoria de Disco

pv v-

w 2 páginas

-^

El número de bits del campo NPF lo determina el número de páginas físicas de MF (

nº de bits de NPF = log

2

nº de páginas

físicas

).

-^

Las DVs generadas por la CPU se traducen a DFs con la ayuda de una Tabla de Páginas (TP). •^

Esta

tabla

contiene

en

principio

tantas

entradas

como

páginas

Página f-2Página f-

Página

2v^ - Página 2

v^ -

Esta tabla contiene en principio tantas entradas como páginas existen en la MV, y la posición en la tabla de una

entrada

correspondiente a una página virtual concreta coincide con su NPV. •^

Cada entrada contiene un primer campo de bits de control de los que por el momento haremos referencia tan sólo a uno el bit de presencia (P)

-^

Cada entrada contiene un primer campo de bits de control, de los que por el momento haremos referencia tan sólo a uno, el bit de presencia (P).

-^

Si este bit está activo (por ejemplo a 1) significa que la página virtual correspondiente a esa entrada está presente en la MF, y en este caso el segundo campo de la entrada contiene el correspondiente NPF. •^

Si el bit P está inactivo (por ejemplo a 0) significa que la correspondiente página virtual no está en la MF, sino en el disco.

-^

El acceso a la TP se realiza con la ayuda de un registro base de la tabla de páginas (RBTP) asociado a cada programa en ejecución

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

-^

El

acceso

a

la

TP

se

realiza

con

la

ayuda

de

un

registro

base

de

la

tabla

de

páginas

(RBTP)

asociado

a

cada

programa

en

ejecución

Memoria virtual paginada

  • El espacio virtual (y físico) se divide en páginas de igual tamaño.

p

(y

p g

g

  • Las entradas de la TP de una MV paginada, además del NPF contiene el bit de presencia P.• Existen otros bits que controlan los derechos de acceso a la página:

lectura (R) 

lectura (R), 

escritura (W) 

ejecución (X) (sólo para páginas de códig).

  • El bit de página modificada (datos) determina su escritura en disco cuando sea sustituida

El bit de página modificada (datos) determina su escritura en disco cuando sea sustituida.

Entrada de la tabla de páginas con correspondencia directa P

R W X

Dirección de Página Física

  • Cada programa (proceso) puede ocupar una gran cantidad de memoria virtual.

P

j^

l

l^

it

t

VAX

d

d

t^

h

t

31

2 GB t

d

MV

P =

bit de presencia (de la página en memoria física)

RWX = derechos de acceso de lectura, escritura y ejecución

  • Por ejemplo, en la arquitectura VAX, cada proceso puede tener hasta 2

31

= 2 GBytes de MV.

  • Utilizando páginas de 2

9 = 512 bytes,

se necesitan TPs de 2

22

entradas por proceso.

  • La cantidad de memoria dedicada sólo a tablas de páginas podría ser inaceptablemente alta.

h

i^

d

l^

l

l^

i^

i^

i^

l^

i

ifi

  • Muchos sistemas de MV almacenan las TPs en la propia memoria virtual

sto significa que

la TP también está sujeta a paginación, igual que el resto de los programas.• Cuando un programa se ejecuta, al menos una parte de su TP debe estar en

memoria

principal principal

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Tabla de páginas invertida HASH

  • Elimina de la TP las entradas que no apuntan a una página de la MF (entradas = páginas de MF).

Elimina de la TP las entradas que no apuntan a una página de la MF (entradas

páginas de MF).

  • El campo NPV de la DV se hace corresponder sobre una

tabla hash

con una función de dispersión.

  • La tabla de dispersión incluye un puntero a una TP invertida, que contiene los elementos de la TP.• Hay un elemento en la tabla de dispersión y en la tabla invertida para cada marco de página .• Requiere una zona fija en MF para las tablas, con independencia del número de programas o páginas.• Más de una DV puede apuntar al mismo elemento de la página de dispersión

se utiliza una técnica de

encadenamiento.• La técnica de dispersión da lugar a cadenas usualmente cortas, con uno o dos elementos.

La técnica de dispersión da lugar a cadenas usualmente cortas, con uno o dos elementos.

  • Esta alternativa de TP se utiliza en el PowerPC.

Dirección Virtual

Nº Página Virtual

Desplazamiento

Tabla de Dispersión

Tabla de Páginas

Función deDispersión

NPV

NPF

Enlace

NPF

NPV

NPF

Enlace

Dirección Física

Nº Página Física

Desplazamiento

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Buffer de traducción anticipada (TLB:

Translation Lookaside Buffer

•Toda referencia a MV requiere dos accesos a MF: uno para acceder a la TP y otro para la DF

Toda referencia a MV requiere dos accesos a MF: uno para acceder a la TP, y otro para la DF 

Duplicar el tiempo de acceso a memoria.

  • Para evitarlo las MVs utilizan una cache para la TP:

buffer de traducción anticipada

(TLB).

  • El TLB contiene aquellas entradas de la TP a las que se ha accedido recientemente.

q

q

  • Por localidad temporal, la mayoría de las referencias a memoria corresponderán a posiciones

incluidas en páginas recientemente utilizadas.

  • Normalmente el TLB utiliza una correspondencia totalmente asociativa

p

NPV

DP

Buffer de traducción anticipada (TLB)

RWX

MemoriaAsociativa

RWX

NPV

NPF

Dirección Física

=

Violación de acceso

Fallo de página

NPF

DP

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Acceso paralelo al TLB y al directorio de la cache

N PV

DP

TLB NPV

NPF

TLB

Si

la

longitud

del

campo

de

desplazamiento DP de la DV (igual alDP de la DF) es mayor o igual que los

Fallo de página

campos

de

conjunto

y

p

alabra

del

formato de la DF para la cache, talcomo se muestra en la figura de laderecha, se puede acceder en paralelo

Fallo de página

N PF

DP

Memoria cache

(simultáneamente) al TLB para buscarel NPF y al directorio de la cache parabuscar el bloque,

etiqueta

datos

etiqueta

línea

palabra

Memoria cache

De esta forma será posible realizar en paralelo la búsqueda en el TLB delNPF

que

se

corresponde

con

la

etiqueta, y en el directorio de la cacheel nº de bloque (línea), que junto a lapalabra

dentro

del

bloque,

se

corresponde con

el

DP, del

que se

aciertofallo

MUX

Comparador

dispone

desde

el

instante

que

se

genera

la

DV,

pues

no

requiere

traducción.

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Múltiples espacios virtuales

Una forma de acelerar la conmutación de procesos evitando tener que borrar la TP es extender las entradas con un campo que contiene el identificador de proceso (PID).

N PV

DP

RWX

PID

NPV

NPF

(TLB)

RWX

PID

=

Fallo de página

=

Dirección Física

Violación de acceso

N PF

DP

=

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Políticas de sustitución: ejemplos

Anomalía de Belady

: Aumentando el número de marcos de

página puede aumentar el número de fallos. Por ejemplo, lassiguientes referencias a páginas:1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 danlugar a 9 fallos con 3 marcos y a 10 fallos con 4 marcos

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

g

y

Memoria virtual segmentada

•Proporciona una forma lógica de organizar los programas y datos.

g

g

g

y

  • Permite

que

el

programador

vea

la

memoria

como

múltiples

espacios

de

direcciones o segmentos.• Los segmentos tienen un tamaño variable, dinámico.

g

  • El programador o el sistema operativo asignará programas y datos a segmentosdistintos.• Puede haber segmentos distintos para varios tipos de programas y datos.

Puede haber segmentos distintos para varios tipos de programas y datos.

  • Se puede asignar a cada segmento derechos de acceso y uso (privilegios yprotección).• Las DVs están constituidas por: número de segmento (NS) y

desplazamiento en

Las DVs están constituidas por: número de segmento (NS) y

desplazamiento en

el segmento (DP).• La traducción de DV a DF es análogo al de la memoria virtual paginada •

Tabla de segmentos (TS)

cuyas entradas contienen:

bits de control 

dirección física del segmento 

dirección física del segmento 

longitud del segmento

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Políticas de ubicación (

placement

) para memorias segmentadas

  • Se identifican los huecos de MF por su

tamaño

y

dirección inicial

, y se llevan a una lista.

  • La política de ubicación determinará la ordenación previa de la lista.• Decidido el hueco donde ubicar el segmento, se actualiza la lista con el que se acaba de crear• Si no se encuentra un hueco apropiado para el segmento interviene la política de sustitución

Si no se encuentra un hueco apropiado para el segmento, interviene la política de sustitución.

  • Las tres políticas de ubicación de segmentos más utilizadas son las siguientes:

Mejor ajuste (

best fit

L

li

d

h

i

d

d

d

i

d

ñ

o

L

a lista de huecos se mantiene ordenada en orden creciente de tamaño

o

Se ubica el segmento en el primer hueco con capacidad suficiente para albergarlo.

Peor ajuste (

worst fit

o

La lista de huecos se mantiene ordenada en orden decreciente de tamaño o

Se ubica el segmento en el primer hueco con capacidad suficiente para albergarlo.

Primer

ajuste

first fit

Primer

ajuste (

first

fit

o

La lista de huecos se ordena según las direcciones iniciales de los huecos o

Se ubica el segmento en el primer hueco con capacidad suficiente para albergarlo.C

d

t

i^

t^

ti

l

ú

l

d

d

h

o

C

uando transcurre un cierto tiempo, se acumulan un número elevado de huecos

pequeños próximos a la cabeza de la lista, penalizando las búsquedas. o

Esto se evita adelantando cíclicamente, después de cada búsqueda la posición inicial de la lista inicial

de

la

lista

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Memoria con segmentos paginados

  • La segmentación presenta propiedades ventajosas para el programador y mala gestión de MF

La segmentación presenta propiedades ventajosas para el programador y mala gestión de MF

  • La paginación proporciona una forma más eficiente de gestionar la MF pero alejada delprogramador.• Los segmentos paginados combinan las ventajas de ambas

Los segmentos paginados combinan las ventajas de ambas

  • La traducción de DVs a DFs compone el mecanismo de la memoria segmentada y el de lapaginada

i^

i^

i^

i^

l

Tabla de segmentos

RWX

Nº Segmento

Nº Página

DP

Tipo acceso

Dirección Virtual

Tabla de Paginas del Segmento

Reg. Tabla Segmentos

P RWX

L

Dir.Real Seg

P = bit de presenciaL = Longitud del segmento

P

NPF

NPF Dirección Física

DP

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Ejemplo de sistema de memoria virtual: procesador Pentium II

El Pentium II dispone de un sistema de gestión de memoria virtual con posibilidad de

p

g

p

segmentación y paginación. •

Los dos mecanismos se pueden activar o desactivar con independencia, dando pues lugar a cuatro formas de funcionamiento del sistema de memoria:

Memoria no segmentada no paginada 

Memoria paginada no segmentada 

Memoria segmentada no paginada

g

p g

Memoria segmentada paginada

Dirección lineal

Dirección lógica (virtual) Segmento

Desplazamiento

Dirección lineal

Dir

Página

Desplaz.

Tabla desegmentos

Dirección

fí i

Directoriode páginas

Tabla depáginas

física

Segmentación

Paginación

Memoriaprincipal

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE