Teoría · Tema 2 de 11

Gestión de memoria por parte del sistema operativo

Qué debes saber

Asignación, paginación, segmentación y memoria virtual.

Fuente: Contenido general de Sistemas Operativos (no figura en los PDFs adjuntos; complementa la memoria virtual de los apuntes).

Resumen estudiable

Objetivos

El SO reparte la memoria entre los procesos: asignar y liberar memoria, proteger a cada proceso de los demás, permitir compartir zonas y ofrecer la abstracción de una memoria propia y continua (memoria lógica) aunque la física esté fragmentada. Esto hace posible la multiprogramación.

Direcciones

El proceso usa direcciones lógicas; la MMU (hardware) las traduce a direcciones físicas. Para protegerse se emplean registros base y límite o bits de permisos.

Asignación contigua

  • Particiones fijas (fragmentación interna) o variables (fragmentación externa: huecos libres pequeños e inutilizables).
  • Estrategias de hueco: primer ajuste, mejor ajuste, peor ajuste. La compactación reúne los huecos.

Paginación

La memoria lógica se divide en páginas y la física en marcos del mismo tamaño. Una tabla de páginas por proceso asocia páginas con marcos; la TLB es una caché de traducciones. Elimina la fragmentación externa (queda fragmentación interna en la última página).

Segmentación

Divide el proceso en segmentos lógicos de distinto tamaño (código, datos, pila): cada uno con base y límite. Se puede combinar con paginación.

Memoria virtual

Usa parte del almacenamiento secundario (área de intercambio / swap) para ampliar la RAM: solo las páginas necesarias están en memoria (paginación por demanda). Si se accede a una página ausente se produce un fallo de página: el SO la trae del disco y, si no hay marcos libres, reemplaza otra (FIFO, LRU, óptimo, reloj). Con demasiados fallos aparece la hiperpaginación (thrashing). Permite ejecutar programas mayores que la RAM física, a costa de rendimiento (el disco es mucho más lento).

Ponte a prueba: escribe tu respuesta

Sin mirar el resumen, desarrolla el tema como lo harías en el examen. La web cuenta tus palabras y detecta qué conceptos clave has incluido (es una ayuda orientativa: lo que importa es que entiendas y relaciones).

Respuesta modelo (≈170 palabras)

Ver respuesta modelo (inténtalo antes)

La gestión de memoria es la función del sistema operativo que reparte la memoria principal entre los procesos, de forma que cada uno disponga de su espacio, esté protegido de los demás y se aproveche bien la RAM, lo que permite la multiprogramación. El proceso trabaja con direcciones lógicas que la MMU traduce a direcciones físicas.

La asignación contigua (particiones fijas o variables) sufre fragmentación interna o externa, que se mitiga con la compactación o con estrategias como primer, mejor o peor ajuste. La paginación divide la memoria lógica en páginas y la física en marcos, con una tabla de páginas (y una TLB como caché) para traducir direcciones; evita la fragmentación externa. La segmentación divide el programa en segmentos lógicos de tamaño variable (código, datos, pila).

La memoria virtual amplía la RAM usando el disco (swap): se cargan solo las páginas necesarias (paginación por demanda) y un fallo de página obliga al SO a traerla, aplicando un algoritmo de reemplazo (FIFO, LRU). Si hay demasiados fallos ocurre el thrashing.

Conecta con otros temas

Relacionar conceptos es lo que más puntúa. Piensa cómo se enlaza este tema con:

Quiz

Las opciones se barajan cada vez; repite el quiz hasta que no falles ninguna.