Unidad 6.- Administración de la memoria
6.1.- Gestión de memoria
La gestión de memoria representa un vínculo delicado entre el rendimiento (tiempo de acceso) y la cantidad (espacio disponible). Siempre se busca obtener el mayor espacio disponible en la memoria, pero pocas veces existe la predisposición para comprometer el rendimiento.
La gestión de memoria también debe realizar las siguientes funciones:
permitir que la memoria se comparta (en sistemas de multiprocesos).
asignar bloques de espacio de memoria a distintas tareas;
proteger los espacios de memoria utilizados (por ejemplo, evitar que un usuario modifique una tarea realizada por otro usuario).
optimizar la cantidad de memoria disponible, específicamente a través de sistemas de expansión de memoria.
6.2.- Memoria virtual
Memoria Virtual es el uso combinado de memoria RAM en su computadora y espacio temporero en el disco duro. Cuando la memoria RAM es baja, la memoria virtual mueve datos desde la memoria RAM a un espacio llamado archivo de paginación. El movimiento de datos desde y hacia los archivos de paginación crea espacio en la memoria RAM para completar su tarea.
6.3.- Memoria compartida
Es aquel tipo de memoria que puede ser accedida por múltiples programas, ya sea para comunicarse entre ellos o para evitar copias redundantes. La memoria compartida es un modo eficaz de pasar datos entre aplicaciones. Dependiendo del contexto, los programas pueden ejecutarse en un mismo procesador o en procesadores separados. La memoria usada entre dos hilos de ejecución dentro de un mismo programa se conoce también como memoria compartida.
6.4.- Memoria compartida distribuida
Son sistemas que, mediante software, emulan semántica de memoria compartida sobre hardware que ofrece soporte solo para comunicación mediante paso de mensajes. Este modelo permite utilizar una red de estaciones de trabajo de bajo costo como una maquina paralela con grandes capacidades de procesamiento y amplia escalabilidad, siendo a la vez fácil de programar.
El objetivo principal de estos sistemas es permitir que un multicomputador pueda ejecutar programas escritos para un multiprocesador con memoria compartida.
Cada uno de los nodos en un sistema de MCD aporta una parte de su memoria local para construir un espacio global de direcciones virtuales que será empleado por los procesos paralelos que se ejecuten en el sistema.
6.5.- Paginación
La mayor parte de los sistemas de memoria virtual utilizan una técnica llamada paginación.
La paginación permite que la memoria de un proceso no sea contigua, y que a un proceso se le asigne memoria física donde quiera que ésta esté disponible.
La paginación evita el gran problema de acomodar trozos de memoria de tamaño variable en el almacenamiento auxiliar.
Cuando es necesario intercambiar fragmento de códigos o datos que residen en la memoria principal, hay que encontrarles espacio en el almacenamiento auxiliar. Por sus ventajas la paginación es de uso común en muchos SO.
6.6.- Segmentación
La memoria virtual es unidimensional, debido a que las direcciones virtuales van desde 0 hasta cierta dirección máxima, una dirección después de la otra. Para muchos problemas, tener dos o más espacios de direcciones virtuales separados puede ser mucho mejor que tener sólo uno.
Es un esquema para implementar espacios de direcciones virtuales que se usaba en los primeros computadores de tiempo compartido. Una memoria segmentada tiene otras ventajas además de simplificar el manejo de estructuras de datos que aumentan o reducen su tamaño. Si cada procedimiento ocupa un segmento separado, con la dirección 0 como su dirección inicial, la vinculación de procedimientos que se compilan por separado se simplifica de manera considerable.
La memoria virtual es unidimensional, debido a que las direcciones virtuales van desde 0 hasta cierta dirección máxima, una dirección después de la otra. Para muchos problemas, tener dos o más espacios de direcciones virtuales separados puede ser mucho mejor que tener sólo uno.
Es un esquema para implementar espacios de direcciones virtuales que se usaba en los primeros computadores de tiempo compartido. Una memoria segmentada tiene otras ventajas además de simplificar el manejo de estructuras de datos que aumentan o reducen su tamaño. Si cada procedimiento ocupa un segmento separado, con la dirección 0 como su dirección inicial, la vinculación de procedimientos que se compilan por separado se simplifica de manera considerable.
Me parece una excelente informacion Muchas gracias con esto tendre una idea basica de como hacer mi gestion de memoria para mi Sistema Operativo casi no hay informacion pero esta parece valer Muchas Gracias! :D
ResponderEliminar