4.1 GESTIÓN DE MEMORIA
La parte del sistema operativo que se ocupa de gestionar la
memoria se le denomina Gestor de Memoria. Su cometido consiste en llevar
la cuenta de las partes de memoria que se están utilizando y las que están
libres, así como de gestionar la información entre la memoria principal y la
secundaria cuando la memoria RAM no sea suficientemente grande para acoger a
todos los procesos.
4.1.1 ORGANIZACIÓN DE LA MEMORIA
En
primer lugar tenemos que distinguir claramente entre tres tipos de memoria:
Una:
la memoria EEPROM donde almacenaremos el programa que haremos, esta memoria
solo podrá ser leida por el pic (el pic va leyendo las instrucciones del
programa almacenado en esta memoria y las va ejecutando). Al apagar el pic esta
memoria no se borra. Dos: la memoria RAM en cuyos registros se irán almacenando
los valores de las variables que nosotros queramos y cuando nosotros queramos
(por programa), al apagar el pic esta memoria se borra. Tres: la memoria EEPROM
para datos, es un espacio de memoria EEPROM en la que se pueden guardar
variables que queremos conservar aunque se apague el pic. No se tratará aquí
por ser una memoria mas difícil de emplear.
4.1.2 ADMINISTRADOR DE LA MEMORIA
La parte del sistema operativo que administra la memoria se
llama administrador de memoria.
© Su labor consiste en llevar un registro de las
partes de memoria que se estén utilizando y aquellas que no, con el fin de
asignar espacio en memoria a los procesos cuando éstos la necesiten y
liberándola cuando terminen.
© Así
como administrar el intercambio entre la memoria principal y el disco en los
casos en los que la memoria principal no le pueda dar capacidad a todos los
procesos que tienen necesidad de ella.
4.1.3 JERARQUIA DE LA MEMORIA
Es la organización piramidal de la memoria en niveles, que
tienen los ordenadores.
Su objetivo es conseguir el rendimiento de una memoria de
gran velocidad al coste de una memoria de baja velocidad, basándose
en el principio de cercanía de referencias.
Los puntos básicos relacionados con la memoria pueden
resumirse en:
l Cantidad
l Velocidad
l Coste
4.1.4 ESTRATEGIAS PARA LA ADMINISTRACIÓN DE LA MEMORIA
Están dirigidas a la obtención del mejor uso posible del
recurso del almacenamiento principal.
© Se
dividen en las siguientes categorías:
Ø Estrategias
de búsqueda
l Estrategias
de búsqueda por demanda.
l Estrategias
de búsqueda anticipada.
Ø Estrategias
de colocación.
Ø Estrategias
de reposición.
4.1.5 MULTIPROGRAMACION CON PARTICIONES FIJAS Y VARIABLES
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.
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.
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.
Inicialmente, toda la memoria está disponible para los
procesos de usuario y es considerado como un gran bloque o hueco único de
memoria.
Cuando llega un proceso que necesita memoria, buscamos un
hueco lo suficientemente grande para el proceso. Si encontramos uno, se asigna
únicamente el espacio requerido, manteniendo el resto disponible para futuros
procesos que requieran de espacio
4.2 MEMORIA REAL
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.
4.2.1 ADMINISTRACION
DE LA MEMORIA CON MAPA DE BITS
Con un mapa de bits, la memoria se divide en unidades de
asignación.
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.
Buscar el mapa una serie de cierta longitud es una operación
lenta.
4.2.2 ADMINISTRACION
DE LA 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.
© 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
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
© 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
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
4.3 MEMORIA VIRTUAL
La Memoria virtual permite al software usar más
memoria principal que la que realmente posee el computador.
Muchas 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.
4.3.1
PAGINACION
Muchas
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.
4.3.2
SEGMENTACION
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.
4.3.3
ALGORITMOS
POR SUSTITUCION DE PAGINAS
© 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.
4.3.4
ASPECTOS
DE DISEÑO PARA EL SISTEMA
© 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.
4.3.5
LIBERACIONDE
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.
No hay comentarios:
Publicar un comentario