El Administrador De Memoria se refiere a los distintos métodos y

Anuncio
El Administrador De Memoria se refiere a los distintos métodos y operaciones que
se encargan de obtener la máxima utilidad de la memoria, organizando los
procesos y programas que se ejecutan de manera tal que se aproveche de la
mejor manera posible el espacio disponible.
Para poder lograrlo, la operación principal que realiza es la de trasladar la
información que deberá ser ejecutada por el procesador, a la memoria principal.
Actualmente esta administración se conoce como Memoria Virtual ya que no es la
memoria física del procesador sino una memoria virtual que la representa. Entre
algunas ventajas, esta memoria permite que el sistema cuente con una memoria
más extensa teniendo la misma memoria real, con lo que esta se puede utilizar de
manera más eficiente. Y por supuesto, que los programas que son utilizados no
ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son: partición
fija, que es la división de la memoria libre en varias partes (de igual o distinto
tamaño) y la partición dinámica, que son las particiones de la memoria en tamaños
que pueden ser variables, según la cantidad de memoria que necesita cada
proceso.
Entre las principales operaciones que desarrolla la administración de memoria se
encuentran la reubicación, que consiste en trasladar procesos activos dentro y
fuera e la memoria principal para maximizar la utilización del procesador; la
protección, mecanismos que protegen los procesos que se ejecutan de
interferencias de otros procesos; uso compartido de códigos y datos, con lo que el
mecanismo de protección permite que ciertos procesos de un mismo programa
que comparten una tarea tengan memoria en común.
ADMINISTRADOR DE LA MEMORIA
La administración de memoria se refiere a los distintos métodos y operaciones que
se encargan de obtener la máxima utilidad de la memoria, organizando los
procesos y programas que se ejecutan de manera tal que se aproveche de la
mejor forma posible el espacio disponible. Existen cuatro tipos de esquema s de
asignación de memoria, estos esquemas de la administración de la memoria rara
vez se utilizan en los sistemas operativos actuales.
Configuración de un solo usuario
Particiones fijas
Particiones dinámicas
Particiones dinámicas reubicables
Ya que estos eran utilizados en los primeros sistemas de cómputo. Pero es
importante su estudio, ya que cada uno introdujo conceptos fundamentales que
ayudaron a la evolución de la administración de la memoria.
ESQUEMA CONTIGUO DE USUARIO UNICO
El primer esquema de asignación de la memoria funcionaba de la siguiente
manera:
cada programa que se iba a procesar se cargaba completo en memoria y se le
asignaba tanto espacio contiguo necesitara.
Si el programa era demasiado grande y no cabía en el espacio de memoria
disponible, no se podía ejecutar. A pesar de que las primeras computadoras eran
demasiado grandes tenían muy poca memoria.
Esto demuestra un factor limitante para todas las computadoras, tiene una
cantidad finita de memoria y si un programa no cabe, hay que incrementar el
tamaño de la memoria principal o modificar el programa.
PARTICIONES FIJAS
El primer intento para posibilitar la multiprogramación fue la creación de las
particiones fijas o estáticas, en la memoria principal, una partición para cada tarea.
El tamaño de la partición se especificaba al encender el sistema, cada partición
podía reconfigurarse al volver encender el sistema o reiniciar el sistema.
Este esquema introdujo un factor esencial, la protección del espacio de memoria
para la tarea. Una vez asignada una partición a una tarea, no se permitía que
ninguna otra tarea entrara en sus fronteras.
Este esquema de partición es más flexible que la de usuario único, porque permite
que varios programas estén en memoria al mismo tiempo.
PARTICIONES DINÁMICAS
Con las particiones dinámicas, la memoria principal disponible aún se conserva en
bloques contiguos, pero a las tareas nada más se les da memoria que solicitan
cuando se cargan para su procesamiento. Aunque es una mejoría significativa en
relación con las particiones fijas, no se elimina el problema de las mismas.
Un esquema de particiones dinámicas utiliza toda la memoria al cargar las
primeras tareas, pero conforme entran nuevas tareas en el sistema que no son del
mismo tamaño de las que acaban de salir de la memoria se acomodan en los
espacios disponibles de acuerdo con su prioridad.
PARTICIONES DINÁMICAS RE LOCALIZABLES
Con este esquema de asignación de memoria, el administrador de memoria
relocaliza los programas para reunir los bloques vacíos y compactarlos, para hacer
un bloque de memoria lo bastante grande para aceptar algunas o todas las tareas
en espera de entrar.
La compactación no es una tarea sencilla. Primero, todos los programas en
memoria se deben relocalizar, de manera que queden contiguos; luego hay que
ajustar cada dirección y cada referencia a una dirección en todo programa para
tomar en consideración la nueva localización del programa en memoria.
ADMINISTRACIÓN DE LA MEMORIA SISTEMAS Recientes
ASIGNACIÓN DE LA MEMORIA EN PÁGINAS
Se basa en el concepto de dividir cada tarea de llegada en páginas de igual
tamaño. Algunos sistemas operativos escogen el tamaño de la página igual al
tamaño de bloque de memoria. Que es el tamaño de las secciones de disco en las
cuales se almacena la tarea.
Las secciones de un disco se conocen como “sectores”. Y los sectores de la
memoria principal se denominan marcos de página.
Antes de ejecutar un programa, el administrador de la memoria lo prepara
mediante:
1.-la determinación del número de páginas del programa.
2.-la ubicación de suficientes marcos de pagina vacios en la memoria principal.
3.-la carga de todas las páginas del programa de los mismos.
PAGINACIÓN POR DEMANDA
La paginación por demanda introdujo la idea de cargar nada más una porción del
programa en la memoria para su procesamiento. Fue el primer esquema
ampliamente utilizado que elimino la necesidad de colocar toda la tarea en la
memora desde el principio hasta el final.
Ejemplo: cuando los usuarios escogen la primera opción del menú de un programa
de aplicación, los otros módulos que no se requieren en ese momento se pueden
extraer de la memoria y cargar de nuevo cuando sean llamados. No requiere todas
las páginas al mismo tiempo
1.- Los módulos de manejo de errores escritos por el usuario se procesan solo
cuando se detectan un error específico durante la ejecución.
2.-Muchos módulos son mutuamente excluyentes.
3.- Ciertas opciones de programa son excluyentes entre si o no resultan siempre
accesibles.
ASIGNACIÓN DE MEMORIA EN SEGMENTOS
El concepto de segmentación se basa en la práctica común entre los
programadores de estructurar programas en módulos, agrupamientos lógicos de
código. Con la asignación de memoria en segmentos, cada tarea se divide en
varios segmentos de tamaños diferentes, uno por cada módulo que contiene
piezas que ejecutan funciones relacionadas.
La tabla de tareas lista todas las tareas en proceso.
La tabla de mapa de segmentos lista detalles sobre cada segmento.
La tabla de mapa de memoria vigila la asignación de la memoria.
Es una combinación de segmentos y de paginación por demanda y ofrece los
beneficios lógicos de la segmentación y las ventajas físicas de la paginación.
Descargar