Gestión de memoria, luis carlos silva dias 1ºsmr

15
Gestor de Memoria .

Transcript of Gestión de memoria, luis carlos silva dias 1ºsmr

Gestor de Memoria .

1. Ubicación de memoria en cada proceso.

2. Problemas a los que se enfrenta el gestor de memoria

3. Memoria virtuala. Utilización de la

memoria virtual4. Técnicas de gestión de

memoria 5. Bibliografía

Cada proceso necesita ubicar la memoria en tres tipos de datos: 

-  Instrucciones- Variables- Pila o zona de trabajo mediante la ejecución.

El gestor de memoria es el encargado de asignar a la memoria  sus procesos y sus usos (uso compartido) entre ellos se encuentran los siguientes ``problemas´´ a los que el gestor de memoria se enfrenta: 

- Reubicación: La memoria esta compartida en varios procesos, entonces por lo cual el programador no sabe mientras programa en que área se ubicara el proceso que él está programando, pero en cuanto este se ejecute, el sistema operativo dejara libre un bloque de memoria que puede ser diferente en cada ejecución. 

- Protección: No es conveniente que otro proceso lea o modifique el espacio de memoria asignado a otro proceso, así que por lo cual el gestor de memoria debe asegurarse de que dicha memoria este protegida para evitar accesos no deseados.

- Compartición: A veces un proceso necesita compartir datos con el otro proceso, así que el gestor de memoria debe

permitir que dicho proceso autorizado acceda a la ubicación de memoria del otro proceso.

- Organización Lógica : Normalmente la memoria principal y la secundaria no suelen estar a la visión del programador que estructura su programa en diferentes módulos , así que , el sistema de gestión de memoria debe encargarse de que ambas memorias se acerquen a la visión del programador , se suele utilizar la segmentación.

- Organización Física: La memoria está organizada en dos espacios muy diferenciados:

        . Memoria principal, rapida, volatil y escasa.        . Memoria secundaria, lenta, Persistente y abundante.

- Fragmentación: Es la memoria que queda desperdiciada debido a los problemas anteriores y puede ser de dos tipos:

. Fragmentación externa: Es cuando existe el espacio de memoria total para satisfacer una necesidad, pero no es contigua

. Fragmentación interna: La memoria asignada puede ser un poco mayor que la necesaria, esto es interno a la partición, pero no se utiliza.

Esta memoria puede ser más grande que la memoria principal instalada, esto se consigue utilizando memoria secundaria para guardar información que está en la memoria principal, aunque cuando esta información se necesita, hay que llevarla de nuevo a la principal, a esto se le llama espacio de trasiego, o en GNU/LINUX, se le denomina ``Swap´´.

A) Utilización de la memoria virtual: 

. Permite que la cantidad de espacio para los procesos no esté limitado por la memoria principal, permite tener cargados mas procesos y también procesos más grandes 

. Reduce la velocidad de ejecución ya que al estar en memoria virtual, necesita ir a coger la información a la memoria principal.

- Segmentación: Técnica que divide la memoria en diferentes partes o segmentos, cuando esta técnica se utiliza se adapta a la visión del programador, no existe la fragmentación interna, pero si la externa, es sencillo compartir datos entre procesos ya que a cada segmento se le pueden asignar unos permisos distintos.

- Paginación: Con esta técnica, dividimos toda la memoria principal en marcos de pagina con el mismo tamaño, al tener los datos agrupados en páginas, cuando se necesita un dato, se puede cargar en cualquiera de los marcos de pagina establecidos anteriormente. 

He utilizado algunas páginas para buscar información como :

.http://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud3/na9

.https://es.wikipedia.org/wiki/Gesti%C3%B3n_de_memoria