Adminstración de Memoria

Muchos se preguntarán cómo funciona la memoria de la computadora, sin embargo, hay que saber distinguir entre memorias, tenemos la memoria que aloja los archivos de texto, imágenes etc. Y tenemos la memoria RAM la cual puede alojar datos, pero estos son destruidos al finalizar su uso o al reiniciar el computador.


Después de entender el rol de cada memoria, podemos enfocarnos en la memoria RAM y como esta funciona. En la figura que se muestra, tenemos diferentes partes en las cuales se obtiene una idea de como la memoria es repartida en diferentes áreas y sus diferentes usos. Luego de echar un vistazo a la imagen nos centraremos en lo más importante de la administración de la memoria y por que esta es vital para la ejecución de procesos dentro del sistema operativo que utilicemos.

Reubicación

«En un sistema operativo multiprogramado de propósito general no se puede conocer a priori la posición de memoria que ocupará un programa cuando se cargue en memoria para proceder a su ejecución, puesto que dependerá del estado de ocupación de la memoria, pudiendo variar, por tanto, en sucesivas ejecuciones de este.

El código máquina de un programa contenido en un archivo ejecutable incluirá referencias a memoria, utilizando los diversos modos de direccionamiento del juego de instrucciones del procesador, tanto para acceder a sus operandos como para realizar bifurcaciones en la secuencia de ejecución. Estas referencias típicamente estarán incluidas en un intervalo desde 0 hasta un valor máximo N.»[1]

Protección

 

Mono programación: es necesario proteger al sistema operativo de los accesos que realiza el programa en ejecución para evitar que, voluntaria o involuntariamente, pueda interferir en el correcto funcionamiento de este. Todos los usuarios que han trabajado en un sistema que no cumple este requisito de protección, como por ejemplo MS-DOS, han experimentado como un error de programación en una aplicación puede causar que todo el sistema se colapse durante la ejecución de esta al producirse una alteración imprevista del código o las estructuras de datos del sistema operativo.

Multiprogramación: el problema se acentúa ya que no solo hay que proteger al sistema operativos sino también a los procesos entre si. El mecanismo de protección en este tipo de sistemas necesita del apoyo del hardware puesto que es necesario validar cada una de las direcciones que genera un programa en tiempo de ejecución. Este mecanismo esta típicamente integrado en el mecanismo de traducción, la función de traducción debe asegurar que los espacios lógicos de los procesos sean disjuntos entre si y con el propio sistema operativo.

En teoría y en práctica la administración de la memoria es necesaria para que los programas se ejecuten con normalidad sin utilizar o abusar del espacio y dirección que ya ha sido asignado. En programación esto es importante ya que al crear código y ejecutar el programa, cada interacción que realiza el usuario justo después de terminar su uso, es necesario que ese espacio sea limpiado para quedar libre y pueda ser realizado por el programa u otro programa en ejecución. Así no sobre saturaremos la memoria y reduciremos la probabilidad de un error o volcado de memoria en el sistema.

 

 

 



[1] Sistemas Operativos UFG

Comentarios

Entradas populares de este blog

Introducción a los Sistemas Operativos