Gestion de Memorias

Embed Size (px)

DESCRIPTION

memoria virtual

Citation preview

Diapositiva 1

Gestin de MemoriaAsignatura: Sistemas Operativos I

Docente : Emilio Palomino Olivera

Contenido de la PresentacinDescripcin del Tema y ObjetivosIntroduccin a la Gestin de MemoriaTcnicas de Gestin de Memoria ConclusionesIntroduccin a la Gestin de MemoriaQu es la Gestin de Memoria?La gestin de memoria es una tarea realizada por el Sistema Operativo de un computador que consiste en cargar y descargar procesos en memoria principal para que sean ejecutados. Para ello el S.O. gestiona lo que se conoce como MMU o Unidad de Administracin de Memoria, el cual es un dispositivo hardware que transforma las direcciones lgicas en fsicas.Objetivos de la Gestin de MemoriaOfrecer a cada proceso un espacio lgico propio.Proporcionar proteccin entre los procesos.Permitir que los procesos compartan memoria.Maximizar el rendimiento del sistema.Introduccin a la Gestin de MemoriaRequisitos de la Gestin de MemoriaReubicacin: En un sistema multiprogramado la memoria se encuentra compartida por varios procesos, por lo tanto, los procesos deben ser cargados y descargados de memoria. Proteccin: En un sistema con multiprogramacin es necesario proteger al sistema operativo y a los otros procesos de posibles accesos que se puedan realizar a sus espacios de direcciones.Comparticin: En ciertas situaciones, bajo la supervisin y control del sistema operativo, puede ser provechoso que los procesos puedan compartir memoria.Introduccin a la Gestin de MemoriaRequisitos de la Gestin de MemoriaOrganizacin Lgica: Tanto la memoria principal como la secundaria presentan una organizacin fsica similar, como un espacio de direcciones lineal y unidimensional. Debe existir una cierta correspondencia entre el S.O. y el hardware al tratar los datos y los programas de los usuarios de acuerdo a la estructura lgica que ellos presenten.

Organizacin Fsica: Debe ser parte de la gestin de memoria, la organizacin del flujo de informacin entre la memoria principal y la memoria secundaria.Particiones EstticasTcnicas de Gestin de Memoria

Ejemplo de particin esttica en una memoria de 64 MB

Asignacin de Memoria con Particiones EstticasTcnicas de Gestin de Memoria

Asignacin de Memoria en Particin EstticaCon particiones estticas surgen dos dificultades:

Un programa puede ser demasiado grande para caber en una particin, por lo tanto si el programa no se ha diseado mediante superposicin, simplemente no se puede ejecutar. De otro modo, podrn estar en memoria aquellos mdulos del programa que se necesiten, pero se requerir que estos mdulos sean intercambiados a medida que la ejecucin progresa.

Se malgasta el espacio interno a cada particin cuando el bloque cargado es ms pequeo, lo que se conoce como fragmentacin interna. Es decir, cualquier proceso por pequeo que sea, ocupar una particin completa.

Particiones EstticasTcnicas de Gestin de MemoriaParticiones DinmicasTcnicas de Gestin de Memoria

Efectos de la Particin DinmicaLa asignacin de memoria en un esquema con particiones dinmicas, consiste en determinar en qu hueco ubicar un nuevo proceso. Para esto existen tres algoritmos: mejor ajuste, primer ajuste o prximo ajuste.

Mejor ajuste: consiste en ubicar el proceso en el espacio de memoria que ms se ajuste a su tamao.

Primer ajuste: consiste en ubicar el proceso en el primer hueco disponible, recorriendo desde el inicio de la memoria, cuyo tamao sea suficiente para el proceso.

Prximo ajuste: consiste en ubicar el siguiente hueco disponible, que sea suficientemente grande, a partir de la ltima asignacin de memoria.Tcnicas de Gestin de MemoriaAsignacin de Memoria con Particiones DinmicasParticiones Dinmicas

Con particiones dinmicas surgen las siguientes dificultades:

Producto de la entrada y salida de procesos en la memoria, se van generando porciones cada vez ms pequeas de la memoria sin utilizar, lo que se conoce como fragmentacin externa.

Para solucionar este problema se debe recurrir a la compactacin de la memoria de manera de eliminar los espacios (huecos) entre procesos. Esto significa que los procesos deben ser reubicados en memoria en forma dinmica

Tcnicas de Gestin de MemoriaMtodos de administracin de memoria con un esquema de particiones variables:

Mapa de bitsListas ligadasSistema de colegas o asociados

Ejemplo:Tcnicas de Gestin de Memoria

Administracin de Memoria con Sistema de ColegasRequisito de Reubicacin

Cualquier mecanismo de gestin de memoria debe poder reubicar los procesos, sin perder las referencias que se hagan dentro de l. Tcnicas de Gestin de Memoria

Soporte Hardware para la ReubicacinDireccin LgicaPaginacinTcnicas de Gestin de Memoria

Asignacin de pginas de procesos a marcos libresEstructura de Datos en el tiempo (f)Traduccin de Direccin lgica a Fsica en Paginacin

Ejemplo:

Direccin relativa 1502 en binario 0000010111011110Tcnicas de Gestin de Memoria

Direccin lgica de 16 bitsSegmentacin

Otra forma de subdividir el programa es la segmentacin. En este caso el programa y sus datos son divididos en segmentos, sin ser necesario que todos sean de igual tamao.

Traduccin de Direccin lgica a FsicaTcnicas de Gestin de Memoria

N Segm. Inicio de Segm. LongitudTabla de Segmentos del ProcesoResumen de las Tcnicas de Gestin de Memoria

Tcnica

Descripcin

Ventajas

Desventajas

Esquemas de Asignacin Contigua

Particin Esttica

La memoria principal se divide en un conjunto de particiones estticas, durante la generacin del sistema. Un proceso se puede cargar en una particin de igual o mayor tamao.

Sencilla de implementar, poca sobrecarga del sistema operativo.

Empleo ineficiente de la memoria debido a la fragmentacin interna. El nmero de procesos activos es fijo.

Particin Dinmica

Las particiones se crean dinmicamente, de forma que cada proceso se carga en una particin de su mismo tamao.

No hay fragmentacin interna, uso ms eficiente de la memoria principal.

Uso ineficiente del procesador debido a la compactacin para contrarrestar la fragmentacin externa.

Esquemas de Asignacin no Contigua

Paginacin

La memoria principal se divide en un conjunto de marcos de igual tamao. Cada proceso se divide en pginas de igual tamao que los marcos. Un proceso se carga situando todas sus pginas en marcos libres pero no necesariamente contiguos.

No tiene fragmentacin externa

Hay una pequea cantidad de fragmentacin interna.

Segmentacin

Cada proceso se divide en segmentos. Un proceso se carga situando todos sus segmentos en particiones dinmicas que no tienen por qu ser contiguas.

No tiene fragmentacin interna.

Mejora la utilizacin de la memoria y reduce la sobrecarga comparada con la particin dinmica.

Conclusiones

Una de las tareas ms complejas e importantes que lleva a cabo el sistema operativo es la de administrar la memoria.

Todos los mtodos aqu presentados, suponen que para ejecutar un proceso es necesario tenerlo completamente en memoria principal, ya sea en espacios contiguos o no.

La paginacin es un esquema similar al de las particiones estticas, con la ventaja de que un proceso puede ser cargado en ms de una particin y en espacios de memoria no contiguos, lo que reduce la fragmentacin interna a la que se produce en la ltima pgina.

Por otro lado, la segmentacin es un esquema similar al de las particiones dinmicas con ventajas similares a la paginacin.

Tanto en las particiones estticas, como en la paginacin, es necesario determinar el tamao que tendrn los bloques de memoria.Fin de la Presentacin