Administracion De Memorias
Enviado por • 16 de Octubre de 2012 • 1.324 Palabras (6 Páginas) • 421 Visitas
Administración de Memorias
La memoria puede representarse como una extensa tabla de palabras que se referencian mediante una dirección de carácter único. Es prácticamente como un almacén de datos que comparte el CPU y los dispositivos E/S y en donde podemos tener rápidos accesos, sin embargo, es volátil y pierde información al momento de fallar el sistema.
El sistema operativo tiene diversas funciones y entre ellas están:
• Saber que partes de la memoria están siendo utilizadas y por quien.
• Decidir cual de todos los procesos será cargado en memoria una vez y haya espacio disponible.
• Asignar y retirar memoria según se necesite.
La memoria, de igual manera cuenta con niveles, y se conocen como “jerarquía de memoria” y su objetivo es el de obtener un mejor rendimiento de memoria, gran velocidad y con bajo costo, basados en el principio “cercanía de direcciones”. La jerarquía de memoria se presenta de la siguiente manera:
• Registros
• Memoria Caché
• Memoria principal
• Disco Duro
• Memorias de masas o auxiliares
Una dirección de memoria identifica la localización de memoria con la cual un programa o dispositivo puede trabajar y almacenar información para su próximo uso.
La memoria cache contiene las direcciones a las que se accede con más frecuencia, cuando usamos caches, se le denomina “tiempo efectivo de acceso (TAE al tiempo medio de acceso a una de las celdas de memoria”.
La memoria física podría representarse común conjunto de celdas que se pueden direccionar, para la ejecución de un programa este debe estar cargado en la memoria, cuando se trata de sistemas multiprocesos, la memoria deberá repartirse entre los diferentes procesos.
Se dará el caso en que la memoria principal no cuente con el suficiente espacio para ejecutar todos los procesos requeridos y es cuando acudimos al uso de la memoria virtual (simulación de memoria auxiliar en donde pueden ejecutarse procesos que son mucha carga para la memoria principal).
Cuando el sistema operativo asigna memoria a los procesos, se garantiza protección (un proceso no entra en la memoria de otro), compartición de datos entre procesos y reubicación (en sistemas multiprogramados para que lo programa logren ejecutarse en diferentes zonas de memoria).
Existen 2 niveles de gestión de memoria:
• Gestor de memoria del SO (asigna memoria).
• Gestor de memoria del proceso (gestiona las partes de memoria).
Los objetivos de la gestión de memoria es para expandir la posibilidad de ejecutar varios procesos a la vez sin ponerlos en conflicto y aprovechando todo el espacio que se encuentre disponible.
Los compiladores y ensambladores contienen direcciones reubicables y referencias externas en sus salidas, los enlazadores resuelven las referencias externas de subrutinas externas y los cargadores ligan direcciones (correspondencia entre datos del programa con los datos de la memoria) es tanto reubicables como absolutas.
Debido a que los procesos sufren intercambios, estos se mueven por entre las memorias mientras se esté ejecutando, puede descargarse en disco y volver a la memoria principal pero en una ubicación distinta (reubicación). Existen 2 tipos de reubicación:
• Estática: se lleva a cabo durante la carga el programa y no se mueve después de esta acción (direccionamiento indirecto).
• Dinámica: se lleva a cabo durante la ejecución del programa y se reproduce según las referencias a memoria, pudiendo ser desplazado el programa en cualquier momento.
Debido a que el sistema operativo debe conocer la ubicación de los datos de control de proceso de ejecución, la asignación de memoria en cada segmento recae en los hombros del sistema operativo y va por etapas que representan el ciclo de vida de un programa:
•Compilación: Se genera código absoluto al saber en que lugar específicamente residirá el programa.
•Carga: Se genera código reubicable en caso de no saber en que parte de la memoria residirá el proceso.
•Ejecución: Se genera cuando la ejecución de procesos cambia de segmento.
Para lograr ejecutar la gestión de memoria con éxito, es crucial aplicar el espacio de direcciones lógicas con el espacio de direcciones físicas:
• Dirección Lógica (la genera el proceso).
• Dirección física (la percibe la unidad de memoria).
Contamos con una unidad de gestión de memoria, hablamos del Memory Management Unit (MMU),
...