Página (memoria de la computadora)


Una página , página de memoria o página virtual es un bloque contiguo de memoria virtual de longitud fija , descrito por una sola entrada en la tabla de páginas . Es la unidad de datos más pequeña para la gestión de memoria en un sistema operativo de memoria virtual . De manera similar, un marco de página es el bloque contiguo de memoria física de longitud fija más pequeño en el que el sistema operativo asigna las páginas de memoria. [1] [2] [3]

Una transferencia de páginas entre la memoria principal y un almacén auxiliar, como una unidad de disco duro , se denomina paginación o intercambio. [4]

El tamaño de la página suele estar determinado por la arquitectura del procesador. Tradicionalmente, las páginas de un sistema tenían un tamaño uniforme, como 4096 bytes . Sin embargo, los diseños de procesadores a menudo permiten dos o más tamaños de página, a veces simultáneos, debido a sus ventajas. Hay varios puntos que pueden influir en la elección del mejor tamaño de página. [5]

Un sistema con un tamaño de página más pequeño utiliza más páginas, lo que requiere una tabla de páginas que ocupe más espacio. Por ejemplo, si un 2 32 espacio de direcciones virtuales se asigna a 4  KiB (2 12 páginas bytes), el número de páginas virtuales es de 2 20  = (2 32  /2 12 ). Sin embargo, si el tamaño de la página aumenta a 32 KiB (2 15 bytes), solo se requieren 2 17 páginas. Un algoritmo de paginación multinivel puede disminuir el costo de memoria de asignar una tabla de página grande para cada proceso al dividir aún más la tabla de página en tablas más pequeñas, paginando efectivamente la tabla de página.

Dado que cada acceso a la memoria debe asignarse desde la dirección virtual a la física, leer la tabla de páginas cada vez puede resultar bastante costoso. Por lo tanto, a menudo se utiliza un tipo de caché muy rápido, el búfer de búsqueda de traducción (TLB). El TLB es de tamaño limitado, y cuando no puede satisfacer una solicitud determinada (un TLB perdido ), las tablas de páginas deben buscarse manualmente (ya sea en hardware o software, según la arquitectura) para obtener el mapeo correcto. Los tamaños de página más grandes significan que una caché TLB del mismo tamaño puede realizar un seguimiento de grandes cantidades de memoria, lo que evita las costosas pérdidas de TLB.

Rara vez los procesos requieren el uso de un número exacto de páginas. Como resultado, la última página probablemente solo estará parcialmente llena, desperdiciando cierta cantidad de memoria. Los tamaños de página más grandes dan lugar a una gran cantidad de memoria desperdiciada, ya que se cargan en la memoria principal más porciones de memoria potencialmente no utilizadas. Los tamaños de página más pequeños aseguran una coincidencia más cercana a la cantidad real de memoria requerida en una asignación.