Está en la página 1de 43

GESTION DE MEMORIA

SISTEMAS OPERATIVOS

Equipo 7
Jess lvarez Alexis Zapata Josue Isturiz Juan Dominguez Nahum Nuez

Company

LOGO

CONTENIDO

CONTENIDO

QUE ES LA GESTION DE MEMORIA ?


Existe un adminsitrador de memoria que lleva el registro de los espacios de memoria que son utilizados y aquellos que no. Asigancion de espacios de memoria de forma transparente, eficiente y seguro , exclusiva para los procesos que la requieran. Esta es responsabilidad del Sistema Operativo. Consiste en cargar y descargar procesos en memoria principal para que despues sean ejecutados. El Sistema Operativo gestiona lo que se conose como MMU ( UNIDAD DE ADMINISTRACION DE MEMORIA)

GESTION DE MEMORIA

SISTEMAS

MONOPROGRAMA
No hay procesos ejecutandose de forma concurrente. No existe Gestion de Memoria. El procesador pasa mucho tiempo ocioso.

MULTIPROGRAMA
Se ejecuta mas de un proceso a la ves. Seguridad en coexistencia entre programas con espacios de memoria diferentes. Procesador: se reparte equitativa o eficiente el tiempo. La memoria: Se reparte espacios de memoria.

GESTION DE MEMORIA
Sea cual sea las politicas de gestion de memoria, se pueden destacar los siguientes objetivos

OBJETIVOS

ESPACIO LOGICO y FISICO

Direccion Fisica

Direccion Logica

Direccion Logica

UNIDAD DE ADMINISTRACION DE MEMORIA


Sus funciones son:

COMPARTIMIENTO DE MEMORIA

PROTECION ENTRE PROCESOS

MODELO DE MEMORIA DE UN PROCESO

FASES EN LA GENERACIN DE UN EJECUTABLE Los programadores desarrollan sus aplicaciones utilizando lenguajes de alto nivel. En general, una aplicacin estar compuesta por un conjunto de mdulos de cdigo fuente que debern ser procesados para obtener el ejecutable de la aplicacin.

MODELO DE MEMORIA DE UN PROCESO

FASES DE PROCESAMIENTO
1. Compilacin: Se genera el cdigo mquina correspondiente a cada mdulo fuente de la aplicacin asignando direcciones a los smbolos definidos en el mdulo y resolviendo las referencias a los mismos. As, si a una variable se le asigna una determinada posicin de memoria, todas las instrucciones que hagan referencia a esa variable deben especificar dicha direccin. 2. Montaje o enlace. Se genera un ejecutable agrupando todos los archivos objeto y resolviendo las referencias entre mdulos, o sea, haciendo que las referencias a un determinado smbolo apunten a la direccin asignada al mismo. Adems de este tipo de referencias, pueden existir referencias a smbolos definidos en otros archivos objeto previamente compilados agrupados normalmente en bibliotecas. El montador, por tanto, debe generalmente incluir en el ejecutable otros objetos extrados de las bibliotecas correspondientes.

MODELO DE MEMORIA DE UN PROCESO

Bibliotecas de objetos: Una biblioteca es una coleccin de objetos normalmente relacionados entre s. En el sistema existe un conjunto de bibliotecas predefinidas que proporcionan servicios a las aplicaciones. Estos servicios incluyen tanto los correspondientes a un determinado lenguaje de alto nivel como los que permiten el acceso a los servicios del sistema operativo.

Bibliotecas dinmicas: Consiste en compilar los mdulos fuente de la aplicacin y enlazar los mdulos objeto resultantes junto con los extrados de las bibliotecas correspondientes.

MODELO DE MEMORIA DE UN PROCESO

Este modo de trabajo presenta varias desventajas:


El archivo ejecutable puede ser bastante grande ya que incluye, adems del cdigo propio de la aplicacin, todo el cdigo de las funciones externas que usa el programa. Todo programa en el sistema que use una determinada funcin de biblioteca tendr una copia del cdigo de la misma. Cuando se estn ejecutando simultneamente varias aplicaciones que usan una misma funcin de biblioteca, existirn en memoria mltiples copias del cdigo de dicha funcin aumentando el gasto de memoria. La actualizacin de una biblioteca implica tener que volver a generar los ejecutables que la incluyen por muy pequeo que sea el cambio que se ha realizado sobre la misma.

MODELO DE MEMORIA DE UN PROCESO


Montaje explcito de bibliotecas dinmicas
La forma de usar las bibliotecas dinmicas se especifica en tiempo de montaje qu bibliotecas se deben usar y se pospone la carga y el montaje hasta el tiempo de ejecucin.

Formato del ejecutable


Como parte final del proceso de compilacin y montaje, se genera un archivo ejecutable que contiene el cdigo mquina del programa.

MODELO DE MEMORIA DE UN PROCESO

MAPA DE MEMORIA DE UN PROCESO El mapa de memoria de un proceso no es algo homogneo sino que est formado por distintas regiones o segmentos. Una regin tiene asociada una determinada informacin. Ese conjunto de informacin relacionada puede llamarse Objeto de Memoria. La asociacin de una regin de un proceso con un objeto de memoria permite al proceso tener acceso a la informacin contenida en el objeto. Cada regin es una zona contigua que est caracterizada por la direccin dentro del mapa del proceso donde comienza y por su tamao.

MODELO DE MEMORIA DE UN PROCESO


PROPIEDADES Y CARACTERSTICAS ESPECFICAS DE CADA REGIN O SEGMENTO: Soporte de la regin. El objeto de memoria asociado a la regin. En l est almacenado el contenido inicial de la regin. Se presentan normalmente dos posibilidades: Soporte en archivo. Sin soporte Tipo de uso compartido: Privada. Compartida. Proteccin. Tipo de acceso permitido. Tpicamente se distinguen tres tipos: Lectura. Ejecucin. Escritura. Tamao fijo o variable. En el caso de regiones de tamao variable, se suele distinguir si la regin crece hacia direcciones de memoria menores o mayores.

MODELO DE MEMORIA DE UN PROCESO

Cdigo (o texto). Se trata de una regin compartida de lectura/ejecucin. Es de tamao fijo (el indicado en la cabecera del ejecutable). Datos con valor inicial. Se trata de una regin privada ya que cada proceso que ejecuta un determinado programa necesita una copia propia de las variables del mismo. Datos sin valor inicial. Se trata de una regin privada de lectura/escritura y de tamao fijo (el indicado en la cabecera del ejecutable). En muchos sistemas se le da un valor inicial de cero a toda la regin por motivos de confidencialidad. Pila. Esta regin es privada y de lectura/escritura. Servir de soporte para almacenar los registros de activacin de las llamadas a funciones (las variables locales, parmetros, direccin de retorno, etc.). Se trata, por tanto, de una regin de tamao variable que crecer cuando se produzcan llamadas a funciones y decrecer cuando se retorne de las mismas.

MODELO DE MEMORIA DE UN PROCESO

MODELO DE MEMORIA DE UN PROCESO

Operaciones sobre regiones


Crear una regin dentro del mapa de un proceso asocindola un objeto de memoria. El sistema operativo crea una nueva regin vinculada al objeto en el lugar correspondiente del mapa asignndola los recursos necesarios y estableciendo las caractersticas y propiedades de la misma (tipo de soporte, carcter privado o compartido, tipo de proteccin y tamao fijo o variable). Eliminar una regin del mapa de un proceso. Esta operacin libera todos los recursos vinculados a la regin que se elimina. Cambiar el tamao de una regin. El tamao de la regin puede cambiar ya sea por una peticin explcita del programa, como ocurre con la regin del heap, o de forma implcita, como sucede cuando se produce una expansin de la pila.

MODELO DE MEMORIA DE UN PROCESO

Duplicar una regin del mapa de un proceso en el mapa de otro. Dada una regin asociada a un determinado objeto de memoria, esta operacin crea una nueva regin vinculada a un objeto de memoria que es una copia del anterior. Por tanto, las modificaciones que se realizan en una regin no afectan a la otra.

PARTICIONES FIJAS

Consiste

en dividir la memoria libre en Varias partes de igual tamao o de diferentes Tamaos

El uso de memoria principal es extremadamente ineficiente. (fragmentacin interna)

PARTICIONES FIJAS

Estas particiones permanecen fijas tanto en espacio como en el numero de particiones.


El principal problema de este tipo de particiones son las Fragmentaciones, que no es mas que las partes de la memoria no pueden usarse.

PARTICIONES FIJAS

Existen dos tipos de Fragmentaciones:


Fragmentacin interna
Desaprovechamiento de la memoria.

Fragmentacin externa
Un proceso solicita mayor espacio de memoria.

Otro problema de particiones fijas es a la de


que determinado proceso solicite un rea de memoria mas grande.

PARTICIONES FIJAS Tcnicas Bsicas


Utilizar una sola cola:

Cuando una particin queda libre se le asigna al 1ero de la cola.


No existe una buena gestin de memoria

PARTICIONES FIJAS Tcnicas Bsicas


Utilizar varias colas:

Se utiliza una cola para cada particin.


Cuando llega un proceso es examinado y enviado a la particion mas apropiada

PARTICIN DINMICA
Este mtodo consiste en particiones de memoria de tamaos variable, o sea, a cada proceso se le asigna la cantidad de memoria que necesita.

Cuando llega un proceso a memoria se le asigna la memoria que necesita: se crea una particin. El SO mantiene informacin sobre las zonas de memoria asignadas (tabla de particiones) y las libres (huecos). Es necesario tener una estrategia de asignacin de espacio y gestin de espacio libre

PROBLEMAS ?

ESQUEMA DE MEMORIA BASADO EN ASIGNACION CONTIGUA

Proceso que consiste en asignarle a cada proceso una zona contigua de memoria donde se almacenara su mapa de memoria.
El sistema operativo se encarga de buscar un hueco en memoria de tamao suficiente para alojar el mapa de memoria.

ESQUEMA DE MEMORIA BASADO EN ASIGNACION CONTIGUA

Para la gestin de memoria se requiere la presencia del hardware el cual posee dos registros:
Registro limite : el procesador verifica que cada direccin que genera el proceso no sea mayor a el espacio asignado. Registro base : una vez que el procesador comprueba que no existe desborde, suma el valor del registro, obteniendo la direccin de memoria fsica resultante.

ESQUEMA DE MEMORIA BASADO EN ASIGNACION CONTIGUA

En cuanto a la funcin del SO solo tendr que almacenar en el Bloque de Control de Proceso (PCB) los registros de dicho proceso.
Mantendr constante informacin sobre el estado de la memoria identificando que partes estn libres. Una desventaja es que el esquema de asignacin contigua no da soporte a las regiones, no permite compartir y tiene un mal aprovechamiento de la memoria.

TECNICA DE INTERCAMBIO(swapping)

Esta tcnica se basa en usar el disco como respaldo de la memoria principal cuando no caben todos los procesos activos. En el tiempo compartido existen mas procesos que memoria, por lo que se necesita guardar algunos procesos.

|TECNICA DE INTERCAMBIO(swapping)

La utilizamos cuando:
El sistema no puede manejar ms procesos que los que caben en la memoria. Los procesos para los cuales no hay espacio se intercambian al disco.

A travs de un criterio de seleccin que toma en cuenta prioridad y tamao del mapa, se escoge el proceso residente en memoria y se copia en swap.

TECNICA DE INTERCAMBIO(swapping)

Dentro del swap tenemos 2 funcionalidades:


Swap in : proceso cargado en memoria. Swap out : expulsamos un proceso finalizado.

Asignacin de espacio utilizando swap:


Preasignacin: al crear el proceso se reserva el espacio suficiente para albergarlo. Sin Preasignacin: solo se reserva espacio al expulsar el proceso.

MEMORIA VIRTUAL
La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una mquina. Esta "ilusin" permite que los programas se hagan sin tener en cuenta el tamao exacto de la memoria fsica.

o Componente esencial de la mayora de los S.O actuales. o En un instante dado, en la memoria slo se tienen unos pocos

fragmentos de un proceso dado, se pueden mantener ms


procesos en la memoria. o Se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. o El S.O debe saber cmo gestionar este esquema.

MEMORIA VIRTUAL
La memoria virtual tambin simplifica la carga del programa para su ejecucin llamado reubicacin, este procedimiento permite que el mismo programa se ejecute en cualquier posicin de la memoria fsica. o Demasiados intercambios de fragmentos conducen a lo que se conoce como hiperpaginacin: donde el procesador consume ms tiempo intercambiando fragmentos que ejecutando instrucciones de usuario. o Para evitarlo el S.O intenta adivinar, en funcin de la historia reciente, qu fragmentos se usarn con menor probabilidad en un futuro prximo.

o Los

argumentos anteriores se basan en el principio de cercana o principio de localidad que afirma que las referencias a los datos y el programa dentro de un proceso tienden a agruparse. Por lo tanto, es vlida la suposicin de que, durante cortos perodos de tiempo, se necesitarn slo unos pocos fragmentos de un proceso.

SEGMENTACION

PAGINACION

tabla de pginas

marco de la pgina

PARTICIONES FIJAS

Consiste en dividir la memoria libre en Varias partes de igual tamao o de diferentes Tamaos

El uso de memoria principal es extremadamente ineficiente.


(fragmentacin interna)

PARTICIN DINMICA
Este mtodo consiste en particiones de memoria de tamaos variable, o sea, a cada proceso se le asigna la cantidad de memoria que necesita.

Cuando llega un proceso a memoria se le asigna la memoria que necesita: se crea una particin. El SO mantiene informacin sobre las zonas de memoria asignadas (tabla de particiones) y las libres (huecos). Es necesario tener una estrategia de asignacin de espacio y gestin de espacio libre

PROBLEMAS ?

Gestin de Memoria con Particiones Variables.

Estrategias para la Asignacin de memoria.

Administracin de Memoria Insuficiente

Company

LOGO

También podría gustarte