Unidad A Aministración de la Memoria

39
ADMINISTRACIÓN DE LA MEMORIA UNIDAD IV

Transcript of Unidad A Aministración de la Memoria

Page 1: Unidad A Aministración de la Memoria

ADMINISTRACIÓN DE LA MEMORIA

UNIDAD IV

Page 2: Unidad A Aministración de la Memoria

GESTIÓN DE MEMORIA

La parte del sistema operativo que seocupa de gestionar la memoria se ledenomina Gestor de Memoria. Su cometidoconsiste en llevar la cuenta de las partes dememoria que se están utilizando y las queestán libres, así como de gestionar lainformación entre la memoria principal y lasecundaria cuando la memoria RAM no seasuficientemente grande para acoger atodos los procesos.

Page 3: Unidad A Aministración de la Memoria

OBJETIVOS

Protección

Compartimiento

Reubicación

Organización de la memoria

Page 4: Unidad A Aministración de la Memoria

ADMINISTRADOR DE LA

MEMORIA

La parte del sistema operativo que administra lamemoria se llama administrador de memoria.

Su labor consiste en llevar un registro de las partesde memoria que se estén utilizando y aquellasque no, con el fin de asignar espacio en memoriaa los procesos cuando éstos la necesiten yliberándola cuando terminen.

Así como administrar el intercambio entre lamemoria principal y el disco en los casos en losque la memoria principal no le pueda darcapacidad a todos los procesos que tienennecesidad de ella.

Page 5: Unidad A Aministración de la Memoria

El administrador de memoria tiene como objetivos:

El sistema operativo es responsable de las siguientes actividades respecto a la administración de memoria : Llevar cuenta de que partes de la memoria están siendo

utilizadas y por quien.

Decidir que procesos cargar en memoria cuando esta está disponible.

Alojar y desalojar espacio de memoria cuando sea requerido.

El sistema operativo es responsable de las siguientes actividades respecto a la administración de la memoria secundaria: Administración del espacio de memoria libre.

Alojamiento de memoria

Planificación del disco

Page 6: Unidad A Aministración de la Memoria

JERARQUIA DE MEMORIAEs la organización piramidal de la memoria enniveles, que tienen los ordenadores.

Su objetivo es conseguir el rendimiento deuna memoria de gran velocidad al coste deuna memoria de baja velocidad, basándoseen el principio de cercanía de referencias.

Los puntos básicos relacionados con lamemoria pueden resumirse en:

Cantidad

Velocidad

Coste

Page 7: Unidad A Aministración de la Memoria
Page 8: Unidad A Aministración de la Memoria

Los niveles que componen la jerarquía de

memoria habitualmente son:

• Nivel 0: Registros

• Nivel 1: Memoria caché

• Nivel 2: Memoria principal

• Nivel 3: Disco duro (con el mecanismo

de memoria virtual)

Page 9: Unidad A Aministración de la Memoria

ESTRATEGIAS PARA LA

ADMINISTARCIÓN DE LA

MEMORIA

Están dirigidas a la obtención del mejor uso

posible del recurso del almacenamiento

principal.

Page 10: Unidad A Aministración de la Memoria

Se dividen en las siguientes categorías:

Estrategias de búsqueda

Estrategias de búsqueda por demanda.

Estrategias de búsqueda anticipada.

Estrategias de colocación.

Estrategias de reposición.

Page 11: Unidad A Aministración de la Memoria

MULTIPROGRAMACIÓN CON

PARTICIONES FIJAS

La memoria se puede organizar

dividiéndose en diversas partes, las cuales

pueden variar en tamaño. Esta partición la

puede hacer el usuario en forma manual, al

iniciar una sesión con la máquina.

Page 12: Unidad A Aministración de la Memoria

Existen dos maneras de asignar los procesos a ella.

• Es mediante el uso de una cola única que asigna

los procesos a los espacios disponibles de la

memoria conforme se vayan desocupando.

• Buscar en la cola el proceso de tamaño mayor

que se ajuste al hueco, sin embargo hay que

tomar en cuenta que tal método discrimina a los

procesos más pequeños.

Page 13: Unidad A Aministración de la Memoria

MULTIPROGRAMACIÓN CON

PARTICIONES VARIABLES

Este esquema fue usado por el sistema operativo IBM OS/360 (llamado MFT), el cual ya no está en uso.

El sistema operativo lleva una tabla indicando cuáles partes de la memoria están disponibles y cuáles están ocupadas.

Page 14: Unidad A Aministración de la Memoria

Inicialmente, toda la memoria está disponible

para los procesos de usuario y es consideradocomo un gran bloque o hueco único de

memoria.

Cuando llega un proceso que necesita memoria,

buscamos un hueco lo suficientemente grandepara el proceso. Si encontramos uno, se asigna

únicamente el espacio requerido, manteniendo

el resto disponible para futuros procesos que

requieran de espacio.

Page 15: Unidad A Aministración de la Memoria

MEMORIA REAL

Page 16: Unidad A Aministración de la Memoria

La memoria real o principal es en donde son ejecutados los

programas y procesos de una computadora y es el espacio real

que existe en memoria para que se ejecuten los procesos.

RAM se utiliza como sinónimo de

memoria principal, la memoria que

está disponible para los programas

Page 17: Unidad A Aministración de la Memoria

Con un mapa de bits, la memoria se divide en unidades de

asignación.

ADMINISTRACION DE LA MEMORIA CON MAPA DE BITS

Page 18: Unidad A Aministración de la Memoria

Buscar el mapa una serie de cierta

longitud es una operación lenta.

Un mapa de bits es un mecanismo

sencillo para llevar el control de las

palabras de memoria e una cantidad

fija de esta, porque su tamaño solo

depende del tamaño de la memoria y

del de la unidad de asignación.

0 =

desocupada

1= ocupada

Page 19: Unidad A Aministración de la Memoria

Administración De Memoria Con Listas

Enlazadas

Page 20: Unidad A Aministración de la Memoria

Administración De Memoria Con Listas Enlazadas

Mantiene una lista enlazada de segmentos de memoria asignados y libres, donde un segmento es un proceso o un hueco entre dos procesos

•Si la lista se ordena por dirección es más fácil su actualización

•Si hay dos listas, una para memoria usada y otra para huecos, la asignación es más rápida, pero la liberación es más lenta

•Ocurre lo mismo para asignar hueco de intercambio.

Page 21: Unidad A Aministración de la Memoria

Administración De Memoria Con Listas Enlazadas

Si la lista se mantiene ordenada por dirección, podemos usar uno de los siguientes algoritmos para escoger un hoyo donde poner un nuevo proceso:

First-fit.Asignar el primer hoyo que sea suficientemente grande como para contener al proceso.

• Best-fit.Asignar el menor hoyo en el que el proceso quepa.

• Worst-fit.Asignar el mayor hoyo

Page 22: Unidad A Aministración de la Memoria

Administración De Memoria Con Listas Enlazadas

Cada vez que se asigna un hoyo a un proceso, se

convierte en un segmento asignado y un hoyo más

pequeño.

Best-fit deja hoyos pequeños

worst-fit deja hoyos grandes.

Simulaciones han mostrado que first-fit y best-fit son

mejores en términos de utilización de la memoria.

First-fit es más rápido

Page 23: Unidad A Aministración de la Memoria

Administración De Memoria Con Listas Enlazadas

La memoria de la siguiente primera figura está

mostrada como una lista ligada de segmentos

donde cada entrada de la lista especifica un

hueco (H) o un proceso (P), la dirección donde

comienza, su longitud y un apuntador a la

siguiente entrada

Page 24: Unidad A Aministración de la Memoria

Distribución del espacio para intercambio

Page 25: Unidad A Aministración de la Memoria

Distribución del espacio para intercambio

En algunos sistemas, cuando un proceso esta en la

memoria, no se le puede asignar espacio en disco.

Cuando deba intercambiarse, puede colocarse en

alguna otra parte del disco.

Los algoritmos para administrar el espacio de

intercambio son los mismos que se emplean para

administrar la memoria principal

Page 26: Unidad A Aministración de la Memoria

Distribución del espacio para intercambio

Cuando el proceso sale, se desasigna el espacio para el intercambio.

La única diferencia es que el espacio en el disco para un proceso debe asignarse como un numero integral de bloques de disco.

Por lo tanto:

Un proceso de tamaño 13.5k que utiliza

un disco con bloques de 1k se

redondeara a 14k antes de que se

busquen las estructuras de datos del

espacio en el disco.

Page 27: Unidad A Aministración de la Memoria

Distribución del espacio para intercambio

En otros sistemas, cuando se crea un proceso, el espacio para intercambio se asigna para el en disco.

Cada vez que el proceso se intercambia, siempre se cambia a su espacio asignado, en lugar de dirigirse a un lugar diferente en cada ocasión.

Page 28: Unidad A Aministración de la Memoria

Distribución del espacio para intercambio

Las recomendaciones sobre el espacio de disco Espacio de intercambio

Modificaciones

Paquetes adicionales de software

Es posible que descubra que los grupos de software necesitan menos espacio en disco

Page 29: Unidad A Aministración de la Memoria

Distribución del espacio para intercambio

Al instalar el software, puede

elegir, agregar o suprimir

paquetes del grupo de software

que haya seleccionado. Para ello

es necesario que conozca las

dependencias de software y la

manera como está

empaquetado el software.

La compatibilidad reducida de

red contiene el número mínimo

de paquetes y el grupo completo

de software más compatibilidad

contiene todos los paquetes.

Page 30: Unidad A Aministración de la Memoria

MEMORIA VIRTUAL

Page 31: Unidad A Aministración de la Memoria

Memoria Virtual (concepto)

La Memoria virtual permite al software

usar más memoria principal que la que

realmente posee el computador.

Page 32: Unidad A Aministración de la Memoria

Operación BásicaMuchas aplicaciones requieren el acceso a

mas información (código y datos)que la

puede mantener la memoria física.

Una solución al problema de necesitar

mayor cantidad de memoria de la que se

posee consiste en que las aplicaciones

mantengan parte de su información en

disco, moviéndola a la memoria principal

cuando sea necesario.

Page 33: Unidad A Aministración de la Memoria

Paginación en memoria virtual

La memoria virtual usualmente es implementada usando

paginación.

En paginación, los bits menos significativos de la dirección de

memoria virtual son preservados y usados directamente como

los bits de orden menos significativos de la dirección de

memoria física. Los bits más significativos son usados como

una clave en una o más tablas de traducción de direcciones

(llamadas tablas de paginación), para encontrar la parte

restante de la dirección física buscada.

Page 34: Unidad A Aministración de la Memoria

Segmentación Memoria

virtual

Es un esquema de manejo mediante la estructura refleja su división lógica llevándose acabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.

Cada uno lleva información de los programas como arreglos subrutinas etc.

Cada espacio de direcciones del programa consiste en una colección de segmentos que reflejan la división lógica del programa.

Page 35: Unidad A Aministración de la Memoria

Objetivos que alcanza la

segmentación

Modularidad de programas: cada rutina del programapuede ser un bloque sujeto a cambios y recopilaciones, sinafectar por ello al resto del programa.

Estructuras de datos de largo variable: ej. Stock, dondecada estructura tiene su propio tamaño y este puede variar.

Protección: se puede proteger los módulos del segmentocontra accesos no autorizados.

Compartición: dos o más procesos pueden ser un mismosegmento, bajo reglas de protección; aunque no seanpropietarios de los mismos.

Enlace dinámico entre segmentos: puede evitarse realizartodo el proceso de enlace antes de comenzar a ejecutar unprograma. Los enlaces se establecerán solo cuando seanecesario

Page 36: Unidad A Aministración de la Memoria

Algoritmos de sustitución de paginasCuando ocurre una falla de página, el

sistema operativo tiene que escoger la

página que sacará de la memoria para que

pueda entrar la nueva página. Si la página

que se eliminará fue modificada mientras

estaba en la memoria, se debe reescribir en el

disco a fin de actualizar la copia del disco,

pero si no fue así

la copia en disco ya estará actualizada y no

será necesario reescribirla. La nueva página

simplemente sobre escribe la que está siendo

desalojada.

Page 37: Unidad A Aministración de la Memoria

EJEMPLOS

El algoritmo de sustitución de páginas

óptimo

El algoritmo de sustitución de páginas no

usadas recientemente

El algoritmo NRU

El algoritmo (FIFO)

Page 38: Unidad A Aministración de la Memoria

ASPECTOS DE DISEÑO PARA EL SISTEMA

1. El modelo de conjunto de trabajo

2. Tamaño de página El tamaño será de acuerdo a las aplicaciones deseadas

para un sistema en particular. Los factores que determinan los tamaños son:

Cuanto menor sea el tamaño de la página, más páginas y marcos de página habrá y mayores tendrán que ser la tabla.

Dependiendo del tamaño de la información se determina si se usan páginas pequeñas o grandes.

Cuanto menor sea la página, 'menor será la fragmentación interna.

Page 39: Unidad A Aministración de la Memoria

LIBERACION DE PAGINAS

Los programas que ya no requieran

páginas específicas deberán desechar

tales páginas de sus conjuntos de trabajo.

Por lo regular hay un tiempo durante el

cual permanecen en el almacenamiento

principal la páginas que ya no se

requieran.