administraci³n de la memoria virtual

Download Administraci³n de La Memoria Virtual

Post on 10-Nov-2015

216 views

Category:

Documents

3 download

Embed Size (px)

DESCRIPTION

Administración de La Memoria Virtual

TRANSCRIPT

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Administracin de memoria: Memoriavirtual

    Gunnar Wolf

    Facultad de Ingeniera, UNAMInstituto de Investigaciones Econmicas, UNAM

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    ndice

    1 Concepto

    2 Paginacin sobre demanda

    3 Reemplazo de pginas

    4 Asignacin de marcos

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Disociar por completo memoria fsica y lgica

    El primer gran paso hacia la memoria virtual lo cubrimosal hablar de paginacin

    Cada proceso tiene una vista lgica de su memoriaCada proceso se mapea a la memoria fsicaPero es exclusivo, distinto del de los dems procesos

    Ahora cada proceso tiene un espacio de direccionamientoexclusivo y muy grande

    Pero omitimos cmo es que podemos ofrecer msmemoria que la fsicamente disponible

    Aqu entra en juego la memoria virtualLa memoria fsica es slo una proyeccin parcial de lamemoria lgica, potencialmente mucho mayor

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Retomando el intercambio

    Vimos el intercambio en primer trmino al intercambio(swap) al hablar de memoria particionada

    Espacio de memoria completo de un procesoMejora cuando hablamos de segmentacin

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

    Con la memoria virtual, el intercambio se realiza porpgina

    Mucho ms rpido que por bloques tan grandes como unsegmentoCompletamente transparente al proceso

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Esquema general empleando memoria virtual

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

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Pequeo cambio de nomenclatura

    El intercambio (swap) deja de ser un ltimo recursoPasa a ser un elemento ms en la jerarqua de memoria

    El mecanismo para intercambiar pginas al disco ya no esun mecanismo aparte

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

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Transparencia al proceso

    Es importante recalcar que cuando hablamos de memoriavirtual, sta se mantiene transparente al procesoEl proceso puede dedicarse a cumplir su tarea, el sistemaoperativo paginar la memoria segn haga faltaEs posible hacer ciertas indicaciones de preferencia, peroen general no es el caso

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    ndice

    1 Concepto

    2 Paginacin sobre demanda

    3 Reemplazo de pginas

    4 Asignacin de marcos

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Deja dormir al cdigo durmiente

    En el transcurso de la vida de un proceso, porcionesimportantes de su memoria se mantienen durmientes Cdigo que slo se emplea eventualmente

    Respuesta a situaciones de excepcinExportacin de un documento a determinado formatoVerificacin de sanidad al cerrar el programaEstructuras inicializadas con espacio para permitir quecrezcan. . .

    Las pginas en que estn dichos datos no son necesariasdurante la ejecucin normal

    El paginador puede posponer su carga hasta cuando seannecesariasSi es que alguna vez son requeridas

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Entonces, sobre demanda?

    Todo el cdigo que ejecute o referencie directamente elprocesador tiene que estar en memoria principal

    Pero no tiene que estarlo antes de ser referenciadoPara ejecutar un proceso, slo requerimos cargar laporcin necesaria para comenzar la ejecucin

    Podemos emplear a un paginador flojoSlo ir cargando a memoria las pginas conforme van aser utilizadasLas pginas que no sean requeridas nunca sern cargadasa memoria

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Paginador flojo?

    Flojo: Concepto usado en diversas reas del cmputo

    Flojo (Lazy) Busca hacer el trabajo mnimo en un principio, ydiferir para ms tarde tanto como sea posible

    Ansioso (Eager) Busca realizar todo el trabajo que sea posibledesde un principio

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Cmo hacemos flojo al paginador?

    Estructura de MMU muy parecida a la del TLBLa tabla de pginas incluir un bit de validez

    Indica si la pgina est presente o no en memoriaSi no est presente, causa un fallo de pgina

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Respuesta a un fallo de pgina

    Figura: Pasos que atraviesa la respuesta a un fallo de pginaGunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Pasos para atender a un fallo de pgina1 Verificar en PCB: Esta pgina ya fue asignada al

    proceso? (es vlida?)2 Si no es vlida, se termina el proceso3 Buscar un marco disponible

    P.ej. en una tabla de asignacin de marcos4 Solicita el al disco la lectura de la pgina hacia el marco

    especificadoContina ejecutando otros procesos

    5 Cuando finaliza la lectura, actualiza PCB y TLB paraindicar que la tabla est en memoria

    6 Termina la suspensin del proceso.Contina con la instruccin que desencaden el fallo.El proceso contina como si la pgina siempre hubieraestado en memoria

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Paginacin puramente sobre demanda

    Llevar este proceso al extremo: Sistema de paginacinpuramente sobre demanda (Pure demand paging)

    Al iniciar la ejecucin de un proceso, lo hace sin ningunapgina en memoria

    El registro de siguiente instruccin apunta a unadireccin que no ha sido cargada

    De inmediato se produce un fallo de pginaEl sistema operativo responde cargando esta primerpgina

    Conforme avanza el flujo del programa, el proceso vaocupando el espacio real que emplear

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Efecto de la paginacin sobre demanda

    Al no cargarse todo el espacio de un proceso, puedeiniciar su ejecucin ms rpidoAl no requerir tener en la memoria fsica a los procesoscompletos, puede haber ms procesos en memoria de losque cabran antes

    Aumentando el grado de multiprogramacin

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Midiendo el impacto en la ejecucin

    El impacto en la ejecucin de un proceso puede ser muygrandeUn acceso a disco es varios miles de veces ms lento queun acceso a memoriaPodemos calcular el tiempo de acceso efectivo (te) apartir de la probabilidad de que en un proceso se presenteun fallo de pgina (0 p 1)Conociendo el tiempo de acceso a memoria (ta) y eltiempo que toma atender a un fallo de pgina (tf ):

    te = (1 p)ta + ptf

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Resolviendo con valores actuales

    ta ronda entre los 10 y 200nstf est cerca de los 8ms

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

    Si slo uno de cada mil accesos a memoria ocasiona unfallo (p = 11000):

    te = (1 11000) 200ns + 11000 8, 000, 000nste = 199,8ns + 8000ns = 8199,8ns

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Ahora s: El impacto de la paginacin sobredemanda

    Esto es, el tiempo efectivo de acceso a memoria es 40veces ms lento que si no empleramos paginacin sobredemandaPodramos mantener la penalizacin por degradacin pordebajo del 10% del tiempo originalPero para que te 220, tendramos que reducir ap 1399,990No olviden: No (necesariamente) es tiempo muerto

    Multiprogramacin: Mientras un proceso espera a que seresuelva su fallo de pgina, otros pueden continuarejecutando

    Gunnar Wolf Administracin de memoria: Memoria virtual

  • ConceptoPaginacin sobre demanda

    Reemplazo de pginasAsignacin de marcos

    Ahora s: El impacto de la paginacin sobredemanda

    Esto es, el tiempo efectivo de acceso a memoria es 40veces ms lento que si no empleramos paginacin sobredemandaPodramos mantener la penalizacin por degradacin pordebajo del 10% del tiempo originalPero para que te 220, tendramos que reducir ap 1399,990No olviden: No (necesariamente) es tiempo muerto

    Multiprogramacin: Mientras un proceso espera a q