Gestión Avanzada de Memoria: Paginación, Segmentación y Algoritmos de Reemplazo
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,98 KB
Métodos de Carga de Programas en Memoria
Existen dos métodos principales para cargar programas en memoria:
- Demanda de Página: Consiste en iniciar la ejecución de los procesos sin páginas cargadas. Estas se irán cargando conforme el proceso las demande.
- Prepaginación: Consiste en que el sistema operativo predice qué páginas se ocuparán durante la ejecución de un proceso.
Algoritmos de Reemplazo de Páginas (Descarga)
Se utilizan para determinar cuáles páginas serán descargadas hacia el disco duro cuando se quiera cargar nuevas páginas y no haya memoria libre.
Algoritmos Básicos de Reemplazo
Existen tres algoritmos básicos:
- MIN (Mínimo): Consiste en descargar la o las páginas que no se necesitarán en el periodo de tiempo más largo en el futuro. Esta implementación es imposible en la práctica.
- FIFO (First In, First Out): Consiste en tener un contador de tiempo para cada página para descargar las más antiguas.
- LRU (Least Recently Used): Consiste en descargar las últimas páginas usadas (se usa el pasado para predecir el futuro). Es utilizado, por ejemplo, por Windows.
Mecanismos de Localización y Protección de Memoria
El registro base y el registro límite pueden servir para localizar direcciones de memoria.
Registro Base y Registro Límite
El registro base sirve como referencia para ubicar una dirección en particular, y el registro límite ayuda a determinar si el desplazamiento de una dirección está por encima del área asignada. Este mecanismo sirve de protección para la memoria.
Métodos de Asignación de Memoria
Los métodos de asignación más comunes son:
- Segmentación: Este método consiste en la asignación de bloques de memoria de tamaño variable, llamados segmentos. El tamaño de cada segmento será el requerido según la petición, por ejemplo, el tamaño del proceso a cargar.
Tipos de Segmentos
- Segmentos de Datos: Solo se puede leer y escribir, pero no se puede ejecutar código de programa.
- Segmentos de Código: Se puede ejecutar código, pero no puede leer ni escribir.
- Segmentos del Sistema: Describen diferentes tipos de segmentos que sirven para la gestión del modo protegido.
Paginación
Consiste en considerar el espacio de direcciones lógicas de cada proceso como un conjunto de bloques de tamaño consistente (fijo) llamados páginas.
Swap (Intercambio)
El swap es la forma en que se intercambia una partición de memoria por otra. Generalmente se utiliza en técnicas basadas en paginación. Se ocupa de una administración adecuada del sistema de archivos para permitir la paginación.
Esquema de Paginación de Windows
Estados de Páginas
- Virgen
- Significa que el contenido de la página no se ha modificado durante su tiempo de vida. Por ejemplo, las páginas de código EXE por lo general permanecen vírgenes.
- Corrupta
- Significa que el contenido de la página se ha modificado al menos una vez desde que se creó. Por ejemplo, las páginas de datos.
- Limpia
- Significa que el contenido de la página corrupta no ha sido modificado desde la última vez que se cargó.
- Sucia
- El contenido de una página corrupta ha sido modificado desde la última vez que se cargó (por lo que será necesario "guardarlo" nuevamente en el archivo de intercambio).
Funciones PD y sus Tareas
Los nombres y la tarea que realizará cada una de las funciones PD son:
- Pd_virgin: Cargar página virgen.
- Pd_taintedin: Cargar página corrupta.
- Pd_cleanout: Descargar página limpia.
- Pd_dirtyout: Descargar página sucia.
- Pd_virginfree: Liberar página virgen.
- Pd_taintedfree: Liberar página corrupta.
Mapa de Memoria
El Mapa de Memoria es la forma en que están distribuidas las particiones de memoria de un sistema operativo. El mapa de memoria ubica áreas de asignación a semejanza de un plano en donde se tienen países, estados, etc.
Tipos Históricos de Memoria
Memoria Expandida (EMS)
Es un tipo especial de memoria paginada en la cual se puede obtener acceso a más memoria que la que podía direccionar (640 KB), por lo que se accedería al rango de 640 KB a 1 MB que está orientado a drivers de controladores en memoria ROM.
Memoria Extendida (XMS)
La memoria extendida es aquella que sobrepasa 1 MB de memoria RAM y que es accesible en procesadores 80286 y superiores.