P. 1
Gestion de Memoria

Gestion de Memoria

4.67

|Views: 8.920|Likes:
Publicado porchuoevil
Gestion de memoria,uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.
Gestion de memoria,uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.

More info:

Published by: chuoevil on Mar 07, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

08/06/2013

pdf

text

original

GESTION DE MEMORIA

SISTEMAS OPERATIVOS

Equipo 7
Jesús Álvarez Alexis Zapata Josue Isturiz Juan Dominguez Nahum Nuñez

Company

LOGO

CONTENIDO
1

2

3

4

CONTENIDO

5

6

7

¿ 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

UNIDAD DE ADMINISTRACION DE MEMORIA
Sus funciones son:

COMPARTIMIENTO DE MEMORIA

PROTECION ENTRE PROCESOS

MODELO DE MEMORIA DE UN PROCESO

FASES EN LA GENERACIÓN DE UN EJECUTABLE Los programadores desarrollan sus aplicaciones utilizando lenguajes de alto nivel. En general, una aplicación estará compuesta por un conjunto de módulos de código fuente que deberán ser procesados para obtener el ejecutable de la aplicación.

MODELO DE MEMORIA DE UN PROCESO

FASES DE PROCESAMIENTO
2.Compilación: Se genera el código máquina correspondiente a cada módulo fuente de la aplicación asignando direcciones a los símbolos definidos en el módulo y resolviendo las referencias a los mismos. Así, si a una variable se le asigna una determinada posición de memoria, todas las instrucciones que hagan referencia a esa variable deben especificar dicha dirección. 5.Montaje o enlace. Se genera un ejecutable agrupando todos los archivos objeto y resolviendo las referencias entre módulos, o sea, haciendo que las referencias a un determinado símbolo apunten a la dirección asignada al mismo. Además de este tipo de referencias, pueden existir referencias a símbolos definidos en otros archivos objeto previamente compilados agrupados normalmente en bibliotecas. El montador, por tanto, debe generalmente incluir en el ejecutable otros objetos extraídos de las bibliotecas correspondientes.

MODELO DE MEMORIA DE UN PROCESO

Bibliotecas de objetos: Una biblioteca es una colección 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 dinámicas: Consiste en compilar los módulos fuente de la aplicación y enlazar los módulos objeto resultantes junto con los extraídos 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, además del código propio de la aplicación, todo el código de las funciones «externas» que usa el programa. •Todo programa en el sistema que use una determinada función de biblioteca tendrá una copia del código de la misma. •Cuando se estén ejecutando simultáneamente varias aplicaciones que usan una misma función de biblioteca, existirán en memoria múltiples copias del código de dicha función aumentando el gasto de memoria. •La actualización de una biblioteca implica tener que volver a generar los ejecutables que la incluyen por muy pequeño que sea el cambio que se ha realizado sobre la misma.

MODELO DE MEMORIA DE UN PROCESO
Montaje explícito de bibliotecas dinámicas
La forma de usar las bibliotecas dinámicas se especifica en tiempo de montaje qué bibliotecas se deben usar y se pospone la carga y el montaje hasta el tiempo de ejecución.

Formato del ejecutable
Como parte final del proceso de compilación y montaje, se genera un archivo ejecutable que contiene el código máquina del programa.

MODELO DE MEMORIA DE UN PROCESO

MAPA DE MEMORIA DE UN PROCESO El mapa de memoria de un proceso no es algo homogéneo sino que está formado por distintas regiones o segmentos. Una región tiene asociada una determinada información. Ese conjunto de información relacionada puede llamarse Objeto de Memoria. La asociación de una región de un proceso con un objeto de memoria permite al proceso tener acceso a la información contenida en el objeto. Cada región es una zona contigua que está caracterizada por la dirección dentro del mapa del proceso donde comienza y por su tamaño.

MODELO DE MEMORIA DE UN PROCESO
PROPIEDADES Y CARACTERÍSTICAS ESPECÍFICAS DE CADA REGIÓN O SEGMENTO: •Soporte de la región. El objeto de memoria asociado a la región. En él está almacenado el contenido inicial de la región. Se presentan normalmente dos posibilidades: •Soporte en archivo. •Sin soporte • Tipo de uso compartido: •Privada. •Compartida. •Protección. Tipo de acceso permitido. Típicamente se distinguen tres tipos: •Lectura. •Ejecución. •Escritura. •Tamaño fijo o variable. En el caso de regiones de tamaño variable, se suele distinguir si la región crece hacia direcciones de memoria menores o mayores.

MODELO DE MEMORIA DE UN PROCESO
• Código (o texto). Se trata de una región compartida de lectura/ejecución. Es de tamaño fijo (el indicado en la cabecera del ejecutable). • Datos con valor inicial. Se trata de una región 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 región privada de lectura/escritura y de tamaño fijo (el indicado en la cabecera del ejecutable). En muchos sistemas se le da un valor inicial de cero a toda la región por motivos de confidencialidad. • Pila. Esta región es privada y de lectura/escritura. Servirá de soporte para almacenar los registros de activación de las llamadas a funciones (las variables locales, parámetros, dirección de retorno, etc.). Se trata, por tanto, de una región de tamaño 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 región dentro del mapa de un proceso asociándola un objeto de memoria. El sistema operativo crea una nueva región vinculada al objeto en el lugar correspondiente del mapa asignándola los recursos necesarios y estableciendo las características y propiedades de la misma (tipo de soporte, carácter privado o compartido, tipo de protección y tamaño fijo o variable). •Eliminar una región del mapa de un proceso. Esta operación libera todos los recursos vinculados a la región que se elimina. •Cambiar el tamaño de una región. El tamaño de la región puede cambiar ya sea por una petición explícita del programa, como ocurre con la región del heap, o de forma implícita, como sucede cuando se produce una expansión de la pila.

MODELO DE MEMORIA DE UN PROCESO

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

PARTICIONES FIJAS

“Consiste

en dividir la memoria libre en Varias partes de igual tamaño o de diferentes Tamaños”

El uso de memoria principal es extremadamente ineficiente. (fragmentación 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:
Fragmentación interna
Desaprovechamiento de la memoria.

Fragmentación 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 Técnicas Básicas
Utilizar una sola cola: Cuando una partición queda libre se le asigna al 1ero de la cola. No existe una buena gestión de memoria

PARTICIONES FIJAS Técnicas Básicas
Utilizar varias colas: Se utiliza una cola para cada partición. Cuando llega un proceso es examinado y enviado a la particion mas apropiada

PARTICIÓN DINÁMICA
“Este método consiste en particiones de memoria de tamaños 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 partición. El SO mantiene información sobre las zonas de memoria asignadas (tabla de particiones) y las libres (huecos). Es necesario tener una estrategia de asignación de espacio y gestión 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 tamaño suficiente para alojar el mapa de memoria.

ESQUEMA DE MEMORIA BASADO EN ASIGNACION CONTIGUA

Para la gestión de memoria se requiere la presencia del hardware el cual posee dos registros:
Registro limite : el procesador verifica que cada dirección 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 dirección de memoria física resultante.

ESQUEMA DE MEMORIA BASADO EN ASIGNACION CONTIGUA  En cuanto a la función del SO solo tendrá que almacenar en el Bloque de Control de Proceso (PCB) los registros de dicho proceso.  Mantendrá constante información sobre el estado de la memoria identificando que partes están libres.  Una desventaja es que el esquema de asignación contigua no da soporte a las regiones, no permite compartir y tiene un mal aprovechamiento de la memoria.

TECNICA DE INTERCAMBIO(swapping)

Esta técnica 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 más procesos que los que caben en la memoria. Los procesos para los cuales no hay espacio se intercambian al disco.

A través de un criterio de selección que toma en cuenta prioridad y tamaño 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.

Asignación de espacio utilizando swap:
Preasignación: al crear el proceso se reserva el espacio suficiente para albergarlo. Sin Preasignación: solo se reserva espacio al expulsar el proceso.

MEMORIA VIRTUAL
“La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se hagan sin tener en cuenta el tamaño exacto de la memoria física.”

o Componente esencial de la mayoría de los S.O actuales. o En un instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más 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 cómo gestionar este esquema.

MEMORIA VIRTUAL
La memoria virtual también simplifica la carga del programa para su ejecución llamado reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física. o Demasiados intercambios de fragmentos conducen a lo que se conoce como hiperpaginación: donde el procesador consume más tiempo intercambiando fragmentos que ejecutando instrucciones de usuario. o Para evitarlo el S.O intenta adivinar, en función de la historia reciente, qué fragmentos se usarán con menor probabilidad en un futuro próximo. o argumentos anteriores se basan en el principio de cercanía 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 válida la suposición de que, durante cortos períodos de tiempo, se necesitarán sólo unos pocos fragmentos de un proceso. Los

SEGMENTACION

PAGINACION

PARTICIONES FIJAS

“Consiste en dividir la memoria libre en Varias partes de igual tamaño o de diferentes Tamaños”

El uso de memoria principal es extremadamente ineficiente.
(fragmentación interna)

PARTICIÓN DINÁMICA
“Este método consiste en particiones de memoria de tamaños 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 partición. El SO mantiene información sobre las zonas de memoria asignadas (tabla de particiones) y las libres (huecos). Es necesario tener una estrategia de asignación de espacio y gestión de espacio libre

¿ PROBLEMAS ?

Gestión de Memoria con Particiones Variables.

Estrategias para la Asignación de memoria.

Administración de Memoria Insuficiente

Company

LOGO

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->