PDF de programación - Administración de memoria: Memoria virtual

Imágen de pdf Administración de memoria: Memoria virtual

Administración de memoria: Memoria virtualgráfica de visualizaciones

Publicado el 5 de Septiembre del 2018
701 visualizaciones desde el 5 de Septiembre del 2018
762,7 KB
86 paginas
Creado hace 9a (28/01/2015)
Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Administración de memoria: Memoria

virtual

Gunnar Wolf

Facultad de Ingeniería, UNAM

Instituto de Investigaciones Económicas, UNAM

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Índice

1 Concepto

2 Paginación sobre demanda

3 Reemplazo de páginas

4 Asignación de marcos

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Disociar por completo memoria física y lógica

El primer gran paso hacia la memoria virtual lo cubrimos
al hablar de paginación

Cada proceso tiene una vista lógica de su memoria
Cada proceso se mapea a la memoria física
Pero es exclusivo, distinto del de los demás procesos

Ahora cada proceso tiene un espacio de direccionamiento
exclusivo y muy grande

Pero omitimos cómo es que podemos ofrecer más
memoria que la físicamente disponible

Aquí entra en juego la memoria virtual

La memoria física es sólo una proyección parcial de la
memoria lógica, potencialmente mucho mayor

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Retomando el intercambio

Vimos el intercambio en primer término al intercambio
(swap) al hablar de memoria particionada

Espacio de memoria completo de un proceso

Mejora cuando hablamos de segmentación

Intercambio parcial; segmentos no utilizados.
El proceso puede continuar con porciones congeladas a
almacenamiento secundario

Con la memoria virtual, el intercambio se realiza por
página

Mucho más rápido que por bloques tan grandes como un
segmento
Completamente transparente al proceso

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Esquema general empleando memoria virtual

Figura: Esquema general de la memoria, incorporando espacio en
almacenamiento secundario, representando la memoria virtual

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Pequeño cambio de nomenclatura

El intercambio (swap) deja de ser un último recurso

Pasa a ser un elemento más en la jerarquía de memoria

El mecanismo para intercambiar páginas al disco ya no es
un mecanismo aparte

Ya no hablamos del intercambiador (swapper)
Sino que del paginador

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Transparencia al proceso

Es importante recalcar que cuando hablamos de memoria
virtual, ésta se mantiene transparente al proceso
El proceso puede dedicarse a cumplir su tarea, el sistema
operativo paginará la memoria según haga falta
Es posible hacer ciertas indicaciones de preferencia, pero
en general no es el caso

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Índice

1 Concepto

2 Paginación sobre demanda

3 Reemplazo de páginas

4 Asignación de marcos

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Deja dormir al código durmiente

En el transcurso de la vida de un proceso, porciones
importantes de su memoria se mantienen durmientes 
Código que sólo se emplea eventualmente

Respuesta a situaciones de excepción
Exportación de un documento a determinado formato
Vericación de sanidad al cerrar el programa
Estructuras inicializadas con espacio para permitir que
crezcan
. . .

Las páginas en que están dichos datos no son necesarias
durante la ejecución normal

El paginador puede posponer su carga hasta cuando sean
necesarias
Si es que alguna vez son requeridas

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Entonces, ¾sobre demanda?

Todo el código que ejecute o referencie directamente el
procesador tiene que estar en memoria principal

Pero no tiene que estarlo antes de ser referenciado
Para ejecutar un proceso, sólo requerimos cargar la
porción necesaria para comenzar la ejecución

Podemos emplear a un paginador ojo

Sólo ir cargando a memoria las páginas conforme van a
ser utilizadas
Las páginas que no sean requeridas nunca serán cargadas
a memoria

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

¾Paginador ojo?

Flojo: Concepto usado en diversas áreas del cómputo

Flojo (Lazy) Busca hacer el trabajo mínimo en un principio, y

diferir para más tarde tanto como sea posible

Ansioso (Eager) Busca realizar todo el trabajo que sea posible

desde un principio

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

¾Cómo hacemos ojo al paginador?

Estructura de MMU muy parecida a la del TLB
La tabla de páginas incluirá un bit de validez

Indica si la página está presente o no en memoria
Si no está presente, causa un fallo de página

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Respuesta a un fallo de página

Figura: Pasos que atraviesa la respuesta a un fallo de página
Administración de memoria: Memoria virtual

Gunnar Wolf

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Pasos para atender a un fallo de página

1 Vericar en PCB: ¾Esta página ya fue asignada al

proceso? (¾es válida?)

2 Si no es válida, se termina el proceso
3 Buscar un marco disponible

P.ej. en una tabla de asignación de marcos

4 Solicita el al disco la lectura de la página hacia el marco

especicado

Continúa ejecutando otros procesos

5 Cuando naliza la lectura, actualiza PCB y TLB para

indicar que la tabla está en memoria

6 Termina la suspensión del proceso.

Continúa con la instrucción que desencadenó el fallo.
El proceso continúa como si la página siempre hubiera
estado en memoria

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Paginación puramente sobre demanda

Llevar este proceso al extremo: Sistema de paginación

puramente sobre demanda (Pure demand paging)

Al iniciar la ejecución de un proceso, lo hace sin ninguna
página en memoria

El registro de siguiente instrucción apunta a una
dirección que no ha sido cargada

De inmediato se produce un fallo de página

El sistema operativo responde cargando esta primer
página

Conforme avanza el ujo del programa, el proceso va
ocupando el espacio real que empleará

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Efecto de la paginación sobre demanda

Al no cargarse todo el espacio de un proceso, puede
iniciar su ejecución más rápido
Al no requerir tener en la memoria física a los procesos
completos, puede haber más procesos en memoria de los
que cabrían antes

Aumentando el grado de multiprogramación

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Midiendo el impacto en la ejecución

El impacto en la ejecución de un proceso puede ser muy
grande
Un acceso a disco es varios miles de veces más lento que
un acceso a memoria
Podemos calcular el tiempo de acceso efectivo (te) a
partir de la probabilidad de que en un proceso se presente
un fallo de página (0 ≤ p ≤ 1)
Conociendo el tiempo de acceso a memoria (ta) y el
tiempo que toma atender a un fallo de página (tf ):

te = (1 − p)ta + ptf

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Resolviendo con valores actuales

ta ronda entre los 10 y 200ns
tf está cerca de los 8ms

Latencia del disco duro: 3ms
Tiempo de posicionamiento de cabeza: 5ms
Tiempo de transferencia: 0.05ms

Si sólo uno de cada mil accesos a memoria ocasiona un
fallo (p = 1

1000):
te = (1 − 1

1000) × 200ns + 1

1000 × 8, 000, 000ns

te = 199,8ns + 8000ns = 8199,8ns

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Ahora sí: El impacto de la paginación sobre
demanda

Esto es, el tiempo efectivo de acceso a memoria es 40
veces más lento que si no empleáramos paginación sobre
demanda
Podríamos mantener la penalización por degradación por
debajo del 10 % del tiempo original
Pero para que te ≤ 220, tendríamos que reducir a
p ≤ 1
No olviden: No (necesariamente) es tiempo muerto

399,990

Multiprogramación: Mientras un proceso espera a que se
resuelva su fallo de página, otros pueden continuar
ejecutando

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Ahora sí: El impacto de la paginación sobre
demanda

Esto es, el tiempo efectivo de acceso a memoria es 40
veces más lento que si no empleáramos paginación sobre
demanda
Podríamos mantener la penalización por degradación por
debajo del 10 % del tiempo original
Pero para que te ≤ 220, tendríamos que reducir a
p ≤ 1
No olviden: No (necesariamente) es tiempo muerto

399,990

Multiprogramación: Mientras un proceso espera a que se
resuelva su fallo de página, otros pueden continuar
ejecutando

Gunnar Wolf

Administración de memoria: Memoria virtual

Concepto
Paginación sobre demanda
Reemplazo de páginas
Asignación de marcos

Acomodo de las páginas en disco

El cálculo presentado asume que el acomodo de las
páginas en disco es óptimo
Si hay que agregar el espacio que una página ocupa en un
sistema de archivos, tf fácilmente aumenta

Navegar estructuras de directorio
Posible fragmenta
  • Links de descarga
http://lwp-l.com/pdf13363

Comentarios de: Administración de memoria: Memoria virtual (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad