1/20
Material de estudio basado en el capítulo de Administración de Memoria de Tanenbaum
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Dirección Lógica
Dirección generada por la CPU que no corresponde directamente a la memoria física. Es parte del espacio de direcciones virtual del proceso. Es decir, es la dirección que genera el programa durante su ejecución. Es la que ve el proceso, no la que realmente existe en la RAM.
Dirección Física
Dirección real en la memoria RAM a la que accede el hardware tras la traducción. La MMU convierte la dirección lógica en ésta antes de enviarla al bus de memoria.
Unidad MMU
Memory Management Unit: hardware dentro del chip de CPU que traduce cada dirección virtual generada por el programa a su correspondiente dirección física, de forma transparente y automática.
Registro Base
Registro de hardware que almacena la dirección física donde comienza el espacio de un proceso. Cada referencia a memoria le suma este valor para obtener la dirección física real.
Fragmentación Interna
Desperdicio de memoria dentro de una unidad asignada: ocurre cuando un proceso no ocupa todo el bloque o página que se le asignó. En promedio se pierde la mitad de la última página.
Fragmentación Externa
Desperdicio de memoria entre bloques asignados: existen huecos libres en total suficientes para un proceso, pero no son contiguos. Característico de la segmentación pura.
Compactación
Técnica para eliminar la fragmentación externa moviendo todos los procesos en memoria hacia un extremo y uniendo los huecos libres en uno solo. Es costosa en tiempo de CPU.
Páginas Lógicas
Bloques de tamaño fijo en que se divide el espacio de direcciones virtual de un proceso. Cada página se puede asociar a cualquier marco libre en la memoria física.
Marcos
Bloques de igual tamaño en que se divide la memoria física. Cada marco puede albergar una página lógica de cualquier proceso en un momento dado.
Tabla de Páginas
Estructura de datos que asocia cada número de página virtual con el número de marco físico que la contiene. Cada proceso tiene la suya; el SO la actualiza en cada fallo de página.
Cache TLB
Translation Lookaside Buffer: pequeña caché de hardware dentro de la MMU que almacena las asociaciones de página marco más recientes para evitar acceder a la tabla de páginas en cada instrucción.
Paginación por Demanda
Estrategia en la que las páginas sólo se cargan a memoria cuando el proceso las referencia por primera vez, en lugar de cargar todo el programa al inicio.
Fallo de Página
Interrupción (trap) que ocurre cuando un proceso accede a una página cuyo bit de presencia es 0. El SO carga la página del disco y reinicia la instrucción fallida.
Bit de Presencia
Bit en cada entrada de la tabla de páginas que indica si la página está actualmente en memoria física (1) o sólo en disco (0). Un acceso con este bit en 0 dispara un fallo de página.
Thrashing
Situación en la que un proceso produce fallos de página casi en cada instrucción porque su conjunto de trabajo no cabe en los marcos asignados, dejando a la CPU casi sin tiempo útil.
Anomalía de Bélády
Fenómeno contraintuitivo del algoritmo FIFO: aumentar el número de marcos disponibles puede incrementar, en lugar de reducir la cantidad de fallos de página para ciertas cadenas de referencia.
Segmentación Pura
Esquema en que el espacio de direcciones se divide en segmentos de tamaño variable, cada uno con una base y límite propios. No usa paginación, por lo que sufre fragmentación externa.
Tabla de Segmentos
Estructura análoga a la tabla de páginas para la segmentación. Cada entrada (descriptor) almacena la dirección base, el límite y los bits de protección del segmento correspondiente.
Paginación Segmentada
Combinación de ambas técnicas, el espacio de direcciones se divide en segmentos, y cada segmento se pagina internamente. Permite segmentos grandes sin fragmentación externa. Usada en MULTICS y Pentium.
Desplazamiento (offset)
Parte de baja orden de una dirección virtual que indica la posición exacta dentro de la página o segmento. No se traduce, se copia directamente a la dirección física.
Mapa de Bits
Estructura que divide la memoria en unidades fijas y usa un bit por unidad (0 = libre, 1 = ocupado) para rastrear qué zonas están disponibles. Simple pero lento al buscar series contiguas libres.