+ All Categories
Home > Documents > Gestion de Memoria

Gestion de Memoria

Date post: 06-Jan-2016
Category:
Upload: l4losky
View: 222 times
Download: 0 times
Share this document with a friend
Description:
asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasfasdfasdfasdfasdfasdf
Popular Tags:

of 24

Transcript

Presentacin de PowerPoint

1ndiceIntroduccinComparticin de memoriaMemoria virtualSoporte en los procesadores: la MMU Gestin de la memoria en LinuxGestin de la memoria en Windows NT/2000Gestin de la MemoriaGestindelamemoria2IntroduccinNecesidad de la gestin de la memoriaRequisitosModelo de memoria de los procesosIntroduccinNecesidad de gestin de la memoriaLa memoria es un recurso ms, muy importante, del sistema.Los procesos compiten por disponer de tal recurso.Todos los procesos en ejecucin estn consumiendo memoria. La memoria que necesita un proceso durante toda su ejecucinpuede asignarse por demanda.De qu depende la memoria mnima necesaria para la ejecucin de un proceso?La memoria se debe poder compartir.Entre el SO y un proceso (monotarea)Entre el SO y los distintos procesos activos (multitarea)IntroduccinRequisitos de la gestin de la memoriaCada proceso debe tener un conjunto de direcciones propio, independiente del estado instantneo de la memoria del sistema.Posibilidad de reubicacin.Espacio de direcciones lgico para cada proceso.Un proceso no debe poder acceder a la memoria asignada a otro. Distintos procesos deben poder compartir zonas de memoria comunes. El sistema operativo debe dar soporte adecuado a las distintas zonas dememoria de los procesos.El sistema de gestin de memoria debe ser eficiente.IntroduccinModelo de memoria de los procesosUn proceso es un programa en ejecucin.Se genera mediante compilacin y enlazado de diversos mdulos fuente y objeto.Tiene una estructura especfica de fichero ejecutable en disco.A la hora de crear un proceso, el SO interpreta el formato y asigna adecuadamente la memoria y otros recursos, y crea las estructuras de datos necesarias.La estructura de los distintos formatos de ejecutables es similar:Un conjunto de regiones contiguas en disco y en memoria, con sus propiedades y usos bien definidos.Un conjunto de smbolos y referencias dinmicos. Indicaciones acerca de direcciones de memoria.IntroduccinModelo de memoria de los procesos (continuacin)Los tipos de regiones utilizados son:Cdigo: +rx. Cdigo ejecutable del proceso. Datos constantes: +r.Datos inicializados: +rw. Datos no inicializados: +rw. Pila: +rw.Heap: +rw. Bloque de memoria dinmica. Archivos en memoria: +rwMemoria compartida...GestindelamemoriaComparticin de memoriaAsignacin de memoria contiguaSegmentacin Paginacin Segmentacin paginadaComparticindememoriaConceptos bsicos:La memoria fsica del sistema debe poder repartirse entre los distintos procesos con los requisitos que hemos visto:Independencia Proteccin EficaciaMecanismos de comparticinAsignacin de memoria contiguaSegmentacin Paginacin Segmentacin paginadaComparticindememoriaGestin de la memoriaSistemas Operativos II (II-UJI)9Asignacin de memoria contiguaEl sistema operativo busca un hueco para ubicar el mapa de memoria completo de un proceso.El hardware de soporte es muy simple:Registro lmite del mapa de memoria del proceso. Registro de traduccin de direcciones.Inconvenientes:Asignacin de huecos en memoria. Fragmentacin externa.Proteccin limitada accesos del propio proceso.ComparticindememoriaGestin de la memoriaSistemas Operativos II (II-UJI)10SegmentacinSe adapta perfectamente al modelo de memoria de los procesos. El mapa de memoria del proceso se divide lgicamente en trozosdisjuntos de tamao variable llamados segmentos.Cada segmento se ubica en memoria segn el esquema anterior. Hacen falta dos registros como antes- por segmento, msinformacin acerca de permisos, etctera.Se crea una Tabla de Descriptores de Segmento (ej. IA32) Inconvenientes:Asignacin de huecos en memoria. Fragmentacin externa.Modelo de direcciones segmentadas o estancas.Soluciona los problemas de proteccin del modelo anterior.ComparticindememoriaGestin de la memoriaSistemas Operativos II (II-UJI)11PaginacinConsigue satisfacer los requisitos de un sistema de gestin de memoria, con las siguientes caractersticas:Permite un buen aprovechamiento de la memoria. Facilita la gestin de la memoria virtual.No necesita de direcciones segmentadas, permitiendo regiones no estancas de memoria.Necesita soporte ms complejo por parte del sistema operativo y del hardware.Es la tcnica ms usada en los procesadores actuales.ComparticindememoriaGestin de la memoriaSistemas Operativos II (II-UJI)12Paginacin (continuacin)En un sistema con paginacin la memoria lgica y fsica- se considera dividida en trozos de igual tamao.Los trozos de memoria lgica se llaman pginas.Los trozos de memoria fsica se denominan marcos.Ciertos sistemas permiten pginas de distintos tamaos. En este caso los tamaos son mltiplos del tamao del marco o de la menor pgina.Cada pgina en memoria fsica ocupa un marco cualquiera.Se requiere una estructura compleja de traduccin (Tablas dePginas).Se evita la fragmentacin externa a costa de interna.ComparticindememoriaGestin de la memoriaSistemas Operativos II (II-UJI)13Paginacin (continuacin)Tablas de pginas y traduccin de direcciones.Una direccin lgica se divide en dos campos: Nmero de pginaDesplazamiento offsett- dentro de la pgina.Para traducir la direccin se cambia el n de pgina por el de marcoLas traducciones se guardan en la Tabla de Pginas.Se incluye informacin adicional PID, permisos, cach... Se necesita soporte hardware para la traduccin (TLB). Soporta perfectamente la comparticin.El tamao de las tablas de pginas puede ser considerable, siendo las tablas invertidas una solucin.ComparticindememoriaGestin de la memoriaSistemas Operativos II (II-UJI)14Segmentacin paginadaSobre un esquema de memoria segmentada, se superpone otro de paginacin.Las direcciones sufren una doble traduccin.Se evita la fragmentacin externa, pero no la interna. Se aade un nivel de proteccin lmite de segmento. Se permiten direcciones segmentadas.Facilita la gestin de memoria virtual.Tema6.GestindelamemoriaGestin de la memoriaSistemas Operativos II (II-UJI)15Memoria virtualConceptos bsicosEsquemas de memoria virtual Problemas de la memoria virtual Otras consideracionesMemoriaVirtualGestin de la memoriaSistemas Operativos II (II-UJI)16Conceptos bsicosComo se ha visto, no existe una relacin directa entre el espacio de direcciones de un proceso y el mapa de memoria fsico.El espacio de direccionamiento de un proceso est limitado por la arquitectura, la memoria fsica por otros condicionantesEl espacio de direcciones de un proceso es mucho mayor que la memoria fsica disponible.Un sistema operativo multitarea debe dar soporte a varios procesos en ejecucin al mismo tiempo.La memoria virtual es un mecanismo para poder gestionar adecuadamente estas paradojas.Se utiliza un dispositivo de almacenamiento masivo, ms lento y barato, como zona de intercambio o swap.Las pginas que no ocupan un marco son llevadas a disco. Aprovecha la localidad de referencia de los accesos a memoria.MemoriaVirtualGestin de la memoriaSistemas Operativos II (II-UJI)17Esquemas de memoria virtualEl ms utilizado es la paginacin por demanda.Se utiliza en modelos de comparticin paginados. Las pginas residen en memoria fsica o en disco.Las tablas de pginas se extienden con informacin acerca de la relacin del estado de la pgina en disco, limpia, modificada...Las tablas de pginas mucho mayores- no estn permanentemente en memoria. Para acabar encontrando las referencias en memoria se utilizan:Tablas de pginas de varios dos- niveles.Tablas de pginas del ncleo siempre en memoria principal.MemoriaVirtualGestin de la memoriaSistemas Operativos II (II-UJI)18Problemas de la memoria virtualLas pginas pueden no encontrarse en memoria cuando se necesitan.Se produce entonces un fallo de pgina.El SO busca la pgina en disco, la lleva a memoria y actualiza las tablas.Se han de establecer polticas de planificacin: adquisicin, asignacin a procesos y reemplazo.Se pueden producir fenmenos indeseados:Hiperpaginacin: cuando hay demasiados procesos en ejecucin, elSO invierte gran parte de su tiempo en el intercambio de pginas.MemoriaVirtualGestin de la memoriaSistemas Operativos II (II-UJI)19Otras consideracionesDe qu depende el nmero mnimo de pginas en memoria por proceso. Ciertas estructuras y cdigo del ncleo se dejan siempre en memoriaprincipal.Se utilizan polticas de preadquisicin etctera para mejorar las prestaciones.Se requiere de un extenso soporte del hardware (MMU)Tema6.GestindelamemoriaGestin de la memoriaSistemas Operativos II (II-UJI)20Soporte en los procesadores: la MMUNecesidad de soporte fsico Estructura y funcin del TLB ExcepcionesMemoria virtual y cachSoporteenlosprocesadores:laMMUGestin de la memoriaSistemas Operativos II (II-UJI)21Necesidad de soporte fsicoLa traduccin de direcciones se realiza al menos una vez por instruccin, luego debe ser muy rpida.Se deben utilizar excepciones para solucionar los problemas propios de la gestin de la memoria por ejemplo, fallos de pgina.Toda la circuitera de soporte a la gestin de memoria se encuentra en laUnidad de Gestin de Memoria (MMU, Memory Management Unit)Soporteenlosprocesadores:laMMUGestin de la memoriaSistemas Operativos II (II-UJI)22Estructura y funcin del TLBEl Translation Lookaside Buffer es una cach de entradas de tablas de pgina, por lo que replica su estructura.Se utiliza para traducir direcciones sin acceder a memoria.Se rellena mediante instrucciones especiales, y puede generar excepciones.Requiere de polticas de actualizacin y reemplazo.Soporteenlosprocesadores:laMMUGestin de la memoriaSistemas Operativos II (II-UJI)23ExcepcionesViolaciones de privilegio. Fallo de pgina.Fallo del TLB.Soporteenlosprocesadores:laMMUGestin de la memoriaSistemas Operativos II (II-UJI)24Memoria virtual y cachLas cachs virtuales son ms rpidas, pero producen aliasing.Las cachs fsicas son ms lentas, luego suelen darse en el nivel 2.


Recommended