Mmmm

ADMINISTRACIÓN DE MEMORIA

ADMINISTRACIÓN BÁSICA DE MEMORIA
Los sistemas de administración de memoria se pueden dividir en dos clases, los que trasladan procesos
entre la memoria y el disco durante la ejecución (intercambio y paginación) y los que no lo hacen
.
MONOPROGRAMACIÓN SIN INTERCAMBIO NI PAGINACIÓN
El esquema de administración de memoria más sencillo posible es ejecutar sólo unprograma a la vez,

Multiprogramación con particiones fijas
Aunque a veces se usa la monoprogramación en computadoras pequeñas con sistemas operativos sencillos, hay muchos casos en que es deseable permitir la ejecución de múltiples procesos a la vez. En los sistemas de tiempo compartido, tener varios procesos en la memoria a la vez implica que cuando un proceso está bloqueado esperando quetermine una E/S, otro puede usar la CPU. Así, la multiprogramación aumenta el aprovechamiento de la CPU. Sin embargo, incluso en computadoras personales hay ocasiones en las que resulta útil poder ejecutar dos o más programas a la vez.

Cuando llega un trabajo, se le puede colocar en la cola de entrada de la partición pequeña que
puede contenerlo. Puesto que las particiones están fijas en esteesquema, cualquier espacio de una

Relocalización y protección
el vinculador necesita saber en qué dirección de la memoria va a comenzar el programa.
Por ejemplo, supongamos que la primera instrucción es una llamada a un procedimiento que está en la dirección absoluta 100 dentro del archivo binario producido por el vinculador. Si este programa se carga en la partición 1, esa instrucción saltará ala dirección absoluta 100, que está, dentro del sistema operativo. Lo que se necesita es una llamada a 100K + 100. Si el programa se le carga en la partición 2, deberá efectuarse como una llamada a 200K + 100, etc. Este problemas se denomina problema de relocalización.

Una posible solución es modificar realmente las instrucciones en el momento en que el programa se carga en la memoria. Se suma100K a cada una de las direcciones de un programa que se carga en la partición 1, se suma 200K a las direcciones de los programas cargados en la partición 2, etc. A fin de efectuar la relocalización durante la carga de esta manera, el vinculador debe incluir en el programa binario una lista o mapa de bits que indique cuáles palabras del programa son direcciones que deben relocalizarse y cuáles concódigos de operación, constantes
u otros elementos que no deben relocalizarse. OS/MFT funcionaba de este modo. Algunas
microcomputadoras también trabajan así. La relocalización durante la carga no resuelve el problema de la protección. Un programa mal intencionado siempre puede construir una nueva instrucción y saltar a ella. Dado que los programas en este sistema usan direcciones de memoriaabsolutas en lugar de direcciones relativas a un registro, no hay forma de impedir que un programa construya una instrucción que lea o escriba cualquier palabra de la
memoria

INTERCAMBIO
En un sistema por lotes, la organización de la memoria en particiones fijas es sencilla y efectiva. Cada trabajo se carga en una partición cuando llega al frente de la cola, y permanece en la memo-ria hastaterminar. En tanto sea posible mantener en la memoria suficientes trabajos para mantener ocupada a la CPU todo el tiempo, no hay por qué usar algo más complicado.
En los sistemas de tiempo compartido o las computadoras personales orientadas a gráficos, la
situación es diferente. A veces no hay bastante memoria principal para contener todos los procesos que están activos actualmente, y los procesosen exceso deben mantenerse en disco y traerse dinámicamente para que se ejecuten. Podemos usar dos enfoques de administración de memoria generales, dependiendo del hardware disponible. La estrategia más sencilla, llamada intercambio, consiste en traer a la memoria cada proceso en su totalidad, ejecutarlo durante un tiempo, y después colocarlo otra vez en el disco. La otra estrategia, llamada…