Espacio de direcciones:
Los espacios de direcciones involucrados en el manejo de la memoria son de tres tipos:
Direcciones físicas: Son aquellas que referencian alguna posición en la memoria física.
Direcciones lógicas: Son las direcciones utilizadas por los procesos. Sufren una serie de transformaciones, realizadas por el procesador (la MMU), antes de convertirse en direcciones físicas.
Direcciones lineales: Direcciones lineales se obtienen a partir de direcciones lógicas tras haber aplicado una transformación dependiente de la arquitectura.
Los programas de usuario siempre tratan con direcciones virtuales, nunca ven las direcciones físicas reales.
Unidad de manejo de memoria:
La unidad de manejo de memoria (MMU) es parte del procesador. Sus funciones son:
- Convertir las direcciones lógicas emitidas por los procesos en direcciones físicas.
- Comprobar que la conversión se puede realizar. La dirección lógica podría no tener un dirección física asociada. Por ejemplo, la página correspondiente a una dirección se puede haber trasladado a una zona de almacenamiento secundario temporalmente.
- Comprobar que el proceso que intenta acceder a una cierta dirección de memoria tiene permisos para ello.
La MMU se Inicializa para cada proceso del sistema. Esto permite que cada proceso pueda usar el rango completo de direcciones lógicas (memoria virtual), ya que las conversiones de estas direcciones serán distintas para cada proceso.
En todos los procesos se configura la MMU para que la zona del núcleo solo se pueda acceder en modo privilegiado del procesador.
La configuración correspondiente al espacio de memoria del núcleo es idéntica en todos los procesos.
Intercambio:
El objetivo del intercambio es dar cabida a la ejecución de más aplicaciones de las que pueden residir simultáneamente en la memoria del sistema:
Consiste en trasladar el código y los datos de un proceso completo de memoria al sistema de almacenamiento secundario, para cargar otro previamente almacenado, no permite a un proceso utilizar más memoria RAM de la que realmente existe en el sistema. Esta técnica puede ser ineficiente ya que se tiene que hacer el intercambio completo del proceso, aunque éste solo vaya a ejecutar una pequeña porción del código.
Durante el intercambio un proceso puede ser sacado temporalmente de memoria y llevado a un lugar especial del disco y posteriormente vuelto a memoria y continuada su ejecución..
El lugar de almacenamiento temporal suele ser un espacio suficientemente grande como para acomodar copias de las imágenes de memoria de todos los usuarios.
4. Fragmentación:
La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa.
La fragmentación puede ser:
Fragmentación Externa: Existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua.
Fragmentación Interna: La memoria asignada puede ser ligeramente mayor que la requerida; esta referencia es interna a la partición, pero no se utiliza.
La fragmentación externa se puede reducir mediante la compactación para colocar toda la memoria libre en un solo gran bloque, pero esta sólo es posible si la relocalización es dinámica y se hace en tiempo de ejecución.
Paginación:
Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marcos de página. Los programas se dividen en unidades lógicas, denominadas páginas, que tienen el mismo tamaño que los marcos de páginas. De esta forma, se puede cargar una página de información en cualquier marco de página.
Las páginas sirven como unidad de almacenamiento de información y de transferencia entre memoria principal y memoria auxiliar o secundaria. Cada marco se identifica por la dirección de marco, que está en la posición física de la primera palabra en el marco de página.
Las páginas de un programa necesitan estar contiguamente en memoria, aunque el programador lo observe de esta forma. Los mecanismos de paginación permiten la correspondencia correcta entre las direcciones virtuales (dadas por los programas) y las direcciones reales de la memoria que se reverencien.
Segmentación:
Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica, llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos. Cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa.
La segmentación permite alcanzar los siguientes objetivos:
Modularidad de programas: Cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
Estructuras de datos de largo variable: Ejm. Stack, donde cada estructura tiene su propio tamaño y este puede variar.
Protección: Se pueden proteger los módulos del segmento contra accesos no autorizados.
Compartición: Dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos.
Enlace dinámico entre segmentos: Puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar un programa. Los enlaces se establecerán sólo cuando sea necesario.
Administracion de memoria
César
martes, 11 de octubre de 2011
Suscribirse a:
Enviar comentarios (Atom)
Con la tecnología de Blogger.
Popular Posts
-
Memorias: componentes de una computadora, dispositivos y medios de grabación que retienen datos informáticos durante algún intervalo de tie...
-
Definición La robótica es la rama de la tecnología que se dedica al diseño, construcción, operación, disposición estructural, manufac...
-
Conceptos Básicos Fila: Esta representada por números Celda.- Es la combinación de columnas y filas Celda Activa: Es aquella celda en d...
-
Técnicas del trazo En el trazo está la clave de todo y este no debe ser titubeante, miedoso, dudoso, inseguro sino todo lo contrario deci...
-
Tarjeta de sonido: también llamadas tarjeta de audio, es un dispositivo (tarjeta de circuitos impresos) que le da a la computadora la habil...
-
1-.Instrucciones que se le dan ala computadora R=Programa 2-.Parte tangible de la computadora R=Hardware 3-.Programa que facilita el u...
-
Un monitor encapsula el código relativo a un recurso compartido en un solo módulo de programa; ventajas: • mantenimiento más simple • menos...
-
Hoja de Cálculo Historia: En el año 1979, dos estudiantes de la célebre Harvard Business School, Bob Framkston y Daniel Brickl...
-
1-.Por los servicios queda 2-.Por numero de usuarios 3-.Por el numero de tareas 4-. Por el numero de procesadores ESTRUCTURA DE UN SIST...
-
¿Qué comparten 2 hilos de una misma tarea? R=El segmento de codigo, el segmento de datos y un espacio de pilar ¿Como captamos la funciona...
0 comentarios:
Publicar un comentario