Capítulo 5: Gestión de la memoria principal

Publicado por P. Ruiz en

Memoria virtual

Todos los métodos estudiados hasta el momento suponen que un proceso debe estar completamente cargado en memoria para poder ejecutarse. Sin embargo, el modelo de Memoria virtual aplica los mecanismos de intercambio que ya hemos mencionado para que las partes de un proceso que no estén siendo utilizadas en un momento concreto, puedan residir en memoria secundaria. De esta forma, se libera una mayor cantidad de memoria principal para albergar un número de procesos superior. Además, este planteamiento nos permitiría ejecutar procesos que fuesen más grandes que la memoria física.

Normalmente se implementa a partir de los conceptos de paginación y/o segmentación que hemos estudiado antes.

Cuando el proceso hace referencia a una dirección de memoria que no reside en memoria principal, se produce un fallo de página. En ese momento, el sistema localiza un marco de página libre y carga en él la página necesaria. Si no hubiese marcos libres, habría que aplicar un algoritmo de sustitución para elegir la página de este u otro proceso que debe abandonar la memoria principal para dejar espacio a la que debe cargarse.

Mientras dura toda esta operación, el proceso que originó el fallo de página permanece en estado Bloqueado.

Para saber qué páginas se encuentran en memoria principal y cuáles están en el disco, la tabla de páginas puede incluir un bit de presencia.

mecanismo de intercambio

Este tipo de esquemas consiguen que la memoria se aproveche mucho mejor. Además, al poder cargar más procesos en la misma cantidad de memoria, el procesador estará mejor aprovechado. Sin embargo, si se produce una situación que provoque una cantidad elevada de fallos de página, los accesos a disco se multiplicarán y el rendimiento puede caer de forma considerable. Este fenómeno recibe el nombre de hiperpaginación.

Actividad 5: La memoria en Windows

Partiendo de la imagen del Administrador de tareas que usaste en una actividad del capítulo anterior, Trata de identificar sobre ella los siguientes datos:

  1. Qué porcentaje de la capacidad de memoria total se está usando en ese momento.

  2. Cuál es el proceso de la cuenta de usuario actual que está ocupando una mayor cantidad de memoria.

  3. El nombre de un servicio.

  4. Cuántos servicios está ejecutando el sistema en ese instante.

Actividad 6: La memoria en Ubuntu

Partiendo de la imagen del Monitor del sistema, que usaste en una actividad del capítulo anterior. Trata de identificar sobre ella los siguientes datos:

  1. Qué cantidad de memoria estaba usando el proceso que utilizábamos como ejemplo en ese momento.

  2. De los procesos que se observan en la imagen, ¿existe alguno que ocupe más memoria que el que estás usando como ejemplo? En caso afirmativo, indica su nombre.

  3. ¿Existe algún proceso que no esté consumiendo recursos del procesador?¿Y alguno que no esté consumiendo memoria? Explica tus observaciones y las conclusiones que obtienes de ellas.

Actividad 7: Diccionario de conceptos

Crea un pequeño diccionario con los conceptos explicados en este capítulo. Cada entrada deberá contener el nombre del término y una explicación breve del mismo.