ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Requisitos De La Gestion De Memoria


Enviado por   •  9 de Enero de 2014  •  2.548 Palabras (11 Páginas)  •  741 Visitas

Página 1 de 11

REQUISITOS DE LA GESTIÓN DE MEMORIA

Al realizar un estudio de los diversos mecanismos y políticas relacionadas con la gestión de

memoria, vale la pena tener en mente los requisitos que se intentan satisfacer: A.M.

Lister, R.D. Eager proponen cinco requisitos:

• Reubicación

• Protección

• Compartición

• Organización lógica

• Organización física

Reubicación

En un sistema multiprogramado, la memoria disponible se encuentra normalmente

compartida por varios procesos. En general, el programador no puede conocer por

adelantado qué otros programas residirán en memoria en el momento de la ejecución del

programa. Además, se busca poder cargar y descargar los procesos activos en la memoria

principal para maximizar el uso del procesador, manteniendo una gran reserva de

procesos listos para ejecutar. Una vez que un programa haya sido descargado al disco, se

limitará a declarar que, cuando vuelva a ser cargado, debe situarse en la misma región de

memoria principal que antes.

De este modo, se sabe antes de tiempo dónde debe situarse un programa y hay que

permitir que el programa pueda moverse en memoria principal como resultado de un

intercambio. Esta situación plantea algunos asuntos técnicos relativos al

direccionamiento, tal y como se muestra en la figura 1, que representa la imagen de un

proceso. Por simplicidad, se supondrá que la imagen del proceso ocupa una región

contigua de la memoria principal. Sin duda, el sistema operativo tiene que conocer la

ubicación de la información de control del proceso y de la pila de ejecución, así como el

punto de partida para comenzar la ejecución del programa para dicho proceso. Puesto

que el sistema operativo gestiona.

Fig. 1. Requisitos de direccionamiento para un proceso.

la memoria y es responsable de traer el proceso a memoria principal, estas direcciones

deben ser fáciles de conseguir. Además, el procesador debe ocuparse de las referencias a

memoria dentro del programa. Las instrucciones de bifurcación deben contener la

dirección que haga referencia a la instrucción que se vaya a ejecutar a continuación. Las

instrucciones que hagan referencia a datos deben contener la dirección del byte o de la

palabra de datos referenciada. De algún modo, el hardware del procesador y el software

del sistema operativo deben ser capaces de traducir las referencias a memoria

encontradas en el código del programa a las direcciones físicas reales que reflejen la

posición actual del programa en memoria principal.

Compartición

Cualquier mecanismo de protección que se implemente debe tener la flexibilidad de

permitir el acceso de varios procesos a la misma zona de memoria principal. Por ejemplo,

si una serie de procesos están ejecutando el mismo programa, resultaría beneficioso

permitir a cada proceso que acceda a la misma copia del programa, en lugar de tener cada

uno su propia copia aparte.

Los procesos que cooperan en una tarea pueden necesitar acceso compartido a la misma

estructura de datos. El sistema de gestión de memoria debe, por tanto, permitir accesos

controlados a las áreas compartidas de la memoria, sin comprometer la protección básica.

De nuevo, se verá que los mecanismos empleados para respaldar la reubicación forman

parte básica de las capacidades de compartición.

Organización Lógica

De forma casi invariable, la memoria principal de un sistema informático se organiza como

un espacio de direcciones lineal o unidimensional que consta de una secuencia de bytes o

palabras. La memoria secundaria, a nivel físico, se organiza de forma similar. Si bien esta

organización refleja fielmente el hardware de la máquina, no se corresponde con la forma

en la que los programas están construidos habitualmente. La mayoría de los programas se

organizan en módulos, algunos de los cuales no son modificables (sólo lectura, sólo

ejecución) y otros contienen datos que se pueden modificar. Si el sistema operativo y el

hardware del computador pueden tratar de forma efectiva los programas de usuario y los

datos en forma de módulos de algún tipo, se conseguirá una serie de ventajas, tales como:

1. Los módulos pueden escribirse y compilarse independientemente, mientras que el

sistema resuelve durante la ejecución todas las referencias de un módulo a otro.

2. Con un escaso coste adicional, pueden otorgar‘_ varios grados de protección (sólo

lectura, sólo ejecución) a los distintos módulos.

3. Es posible introducir mecanismos por medio de los cuales los procesos puedan

compartir módulos. La ventaja de ofrecer compartición a nivel de módulo es que esto se

corresponde con la visión del problema que tiene el usuario y, por tanto, es fácil para el

usuario especificar la compartición que desea.

La herramienta que más fácilmente satisface estas necesidades es la segmentación, que es

una de las técnicas de gestión de memoria estudiadas en este capítulo.

Organización Física

Recordemos que la memoria de la computadora se organiza en, al menos, dos niveles:

memoria principal y memoria secundaria. La memoria principal ofrece un acceso rápido

con un coste relativamente alto. Además, la memoria principal es volátil; esto es, no

proporciona almacenamiento permanente. La memoria secundaria es más lenta y barata

que la memoria principal y, normalmente, no es volátil. De este modo, una memoria

secundaria de gran capacidad puede permitir un almacenamiento a largo plazo de

programas y datos, al tiempo que una memoria principal pequeña mantiene los

programas y datos de uso actual.

En este esquema a dos niveles, la organización del flujo de información entre la memoria

principal y la secundaria tiene un gran interés en el sistema. La responsabilidad de este

flujo podría asignarse al programador, pero esto es impracticable e indeseable, debido a

dos razones:

1. La memoria principal disponible para un programa y sus datos puede ser insuficiente.

En este caso, el programador debe emplear una práctica que se conoce como

superposición (overlaying), en la cual el programa y los datos se organizan de tal forma

que puede haber varios módulos asignados a la misma región de memoria, con un

programa principal responsable del intercambio de los

...

Descargar como (para miembros actualizados) txt (17 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com