Particiones
de Memoria
Las particiones de memoria pueden ser
definidas estáticamente durante la generación del sistema o dinámicamente en
respuesta a las demandas del usuario.
Cuando el particionamiento es
estático, se produce un desaprovechamiento de la memoria, cuando se carga un
objeto de menor tamaño que la partición y al espacio que se desaprovecha, se le
denomina fragmentación interna.
El
particionamiento dinámico, elimina este problema, haciendo cada partición tan
grande como sea necesario para ajustarse al objeto dado, por lo tanto, cuando
se lleva un objeto fuera de la memoria, la partición ocupada por él, se devuelve
a la reserva de espacio libre.
Después de algún tiempo de
funcionamiento, el particionamiento dinámico produce una dispersión de espacio
libre en áreas discontinuas, que son de un tamaño insuficiente para albergar
otro objeto. A este tipo de desaprovechamiento de la memoria, se le denomina
fragmentación externa.
Respecto
a la manera de abordar la asignación de memoria no contigua, se pueden utilizar
las dos técnicas siguientes:
·
La Paginación.
·
La Segmentación.
En la
Paginación, la memoria principal se divide en un conjunto de marcos de página
de igual tamaño y cada proceso se divide en una serie de páginas del mismo
tamaño, que los marcos de página en que se ha dividido la memoria principal. El
proceso se cargará situando todas sus páginas en los marcos libres, que no
necesariamente serán contiguos.
La utilización de la Paginación,
elimina la fragmentación externa, pero puede producirse una pequeña
fragmentación externa en la última página de un proceso.
En
la Segmentación los programas se dividen en módulos y cada módulo se convierte
en un segmento durante la compilación del programa. Un proceso se cargará,
situando todos sus segmentos, en particiones dinámicas, que no necesariamente
tienen que ser contiguas.
La utilización de la Segmentación,
elimina totalmente la fragmentación interna, pero puede producirse
fragmentación externa, que se elimina con la compactación.
Independientemente
del tipo de asignación de la memoria que se utilice, la posible eficacia de un
gestor de memoria, es mayor en sistemas donde los programas son reubicables, es
decir, que puedan ser cargados en las distintas áreas de memoria, disponibles
en un momento dado.
Con objeto de proporcionar unas
bases comunes, para la evaluación de cada esquema analizado, se establecen los
siguientes criterios de medida:
·
Memoria desaprovechada.
·
Complejidad en el tiempo.
·
Procesos suplementarios de
acceso a memoria.
La memoria desaprovechada se considera que es la fracción de
memoria física sin usar, que un esquema de gestión de memoria dado, es incapaz
de asignar, cuando procesa una secuencia de peticiones de memoria.
La complejidad en el tiempo, se refiere a la dificultad del
cálculo que es preciso realizar, para la asignación o desasignación de la
memoria, utilizado por un esquema determinado de gestión de la memoria.
Los
procesos suplementarios de los accesos a memoria, se refieren a la duración de
las operaciones adicionales, llevadas a cabo por un esquema de gestión de
memoria dado, cuando accede a la memoria.
Una definición más amplia de la
memoria desaprovechada, consiste en la posibilidad de mantener residentes en
memoria, múltiples copias de un único objeto común, debido a un deficiente o
restringido uso compartido.
Un
gestor de memoria ideal debe:
Minimizar:
·
La memoria desaprovechada.
·
La complejidad en el tiempo.
·
Los procesos suplementarios
de acceso a memoria.
Proporcionar:
·
Una buena protección de
memoria.
·
Un uso compartido flexible.
Estos
requerimientos no son realizables simultáneamente, por los esquemas de gestión
de memoria que se van a describir, por lo tanto, un diseñador de un sistema
operativo, tendrá que identificar y establecer la prioridad de un diseño
particular, para crear un esquema de gestión de memoria apropiado a los
requerimientos del sistema dado.
REQUISITOS PARA LA GESTIÓN
DE MEMORIA.
Al
realizar un estudio de los diversos mecanismos y políticas relacionadas con la
gestión de memoria, conviene tener presente los requisitos que se deben
satisfacer, en el diseño de un módulo de gestión de memoria:
·
Reubicación.
·
Protección.
·
Compartición.
·
Organización lógica.
·
Organización física.
Este comentario ha sido eliminado por el autor.
ResponderEliminar