Você está na página 1de 6

Implementaciones [ editar ]

Atlas Ferranti [ editar ]


La primera computadora que admitió la paginación fue la
supercomputadora Atlas , [7] [8] [9] desarrollada conjuntamente por Ferranti , la Universidad de
Manchester y Plessey en 1963. La máquina tenía una memoria asociativa ( direccionable por
contenido ) con una entrada para cada Página de 512 palabras. El Supervisor [10] manejó las
interrupciones de no equivalencia [c]y administró la transferencia de páginas entre el núcleo y el
tambor para proporcionar una tienda de un nivel [11] a los programas.

Microsoft Windows [ editar ]


Windows 3.xy Windows 9x [ editar ]
La paginación ha sido una característica de Microsoft Windows desde Windows 3.0 en 1990.
Windows 3.x crea un archivo oculto llamado 386SPART.PAR o WIN386.SWP para usarlo como
un archivo de intercambio. Generalmente se encuentra en el directorio raíz , pero puede
aparecer en otro lugar (generalmente en el directorio WINDOWS). Su tamaño depende de
cuánto espacio de intercambio tenga el sistema (una configuración seleccionada por el usuario
en Panel de control → Mejorado en "Memoria virtual"). Si el usuario mueve o elimina este
archivo, aparecerá una pantalla azul la próxima vez que se inicie Windows, con el mensaje de
error"El archivo de intercambio permanente está dañado". Se le solicitará al usuario que elija
si desea eliminar o no el archivo (si existe o no).
Windows 95 , Windows 98 y Windows Me utilizan un archivo similar, y la configuración se
encuentra en Panel de control → Sistema → pestaña Rendimiento → Memoria
virtual. Windows establece automáticamente el tamaño del archivo de página para que
comience en 1.5 × el tamaño de la memoria física, y se expande hasta 3 × memoria física si
es necesario. Si un usuario ejecuta aplicaciones de uso intensivo de memoria en un sistema
con poca memoria física, es preferible configurar manualmente estos tamaños a un valor
superior al predeterminado.
Windows NT [ editar ]
El archivo utilizado para la paginación en la familia de Windows NT es pagefile.sys . La
ubicación predeterminada del archivo de página está en el directorio raíz de la partición donde
está instalado Windows. Windows se puede configurar para usar espacio libre en cualquier
unidad disponible para archivos de paginación. Sin embargo, es necesario que la partición de
arranque (es decir, la unidad que contiene el directorio de Windows) tenga un archivo de
paginación si el sistema está configurado para escribir volcados del núcleo o de la memoria
completa después de una pantalla azul de la muerte . Windows usa el archivo de paginación
como almacenamiento temporal para el volcado de memoria. Cuando se reinicia el sistema,
Windows copia el volcado de memoria del archivo de paginación en un archivo separado y
libera el espacio que se utilizó en el archivo de paginación. [12]
Fragmentación [ editar ]
Esta sección necesita ser actualizada . Actualice este artículo
para reflejar eventos recientes o información recientemente
disponible. (Julio 2014 )

En la configuración predeterminada de Windows, el archivo de paginación puede expandirse


más allá de su asignación inicial cuando sea necesario. Si esto sucede gradualmente,
puede fragmentarse mucho, lo que puede causar problemas de rendimiento. [13] El consejo
común para evitar esto es establecer un único tamaño de archivo de página "bloqueado" para
que Windows no lo expanda. Sin embargo, el archivo de paginación solo se expande cuando
se ha llenado, lo que, en su configuración predeterminada, es 150% de la cantidad total de
memoria física. [ cita requerida ] Por lo tanto, la demanda total de memoria virtual respaldada por
archivos de paginación debe exceder el 250% de la memoria física de la computadora antes
de que el archivo de páginas se expanda.
La fragmentación del archivo de paginación que ocurre cuando se expande es temporal. Tan
pronto como las regiones expandidas ya no estén en uso (en el próximo reinicio, si no antes),
las asignaciones adicionales de espacio en disco se liberan y el archivo de paginación vuelve
a su estado original.
Bloquear el tamaño de un archivo de paginación puede ser problemático si una aplicación de
Windows solicita más memoria que el tamaño total de la memoria física y el archivo de
paginación, lo que lleva a solicitudes fallidas para asignar memoria que pueden causar fallas
en las aplicaciones y procesos del sistema. Además, el archivo de página rara vez se lee o
escribe en orden secuencial, por lo que la ventaja de rendimiento de tener un archivo de
página completamente secuencial es mínima. Sin embargo, un archivo de paginación grande
generalmente permite el uso de aplicaciones con mucha memoria, sin penalizaciones además
de usar más espacio en disco. Si bien un archivo de página fragmentado puede no ser un
problema en sí mismo, la fragmentación de un archivo de página de tamaño variable con el
tiempo creará varios bloques fragmentados en la unidad, lo que hará que otros archivos se
fragmenten. Por esta razón, un archivo de página contiguo de tamaño fijo es mejor,
El espacio en disco requerido puede asignarse fácilmente en sistemas con especificaciones
más recientes (es decir, un sistema con 3 GB de memoria que tiene un archivo de paginación
de tamaño fijo de 6 GB en una unidad de disco de 750 GB, o un sistema con 6 GB de
memoria y 16 GB archivo de paginación de tamaño fijo y 2 TB de espacio en disco). En ambos
ejemplos, el sistema está utilizando aproximadamente el 0,8% del espacio en disco con el
archivo de paginación previamente extendido a su máximo.
En ocasiones, también se recomienda desfragmentar el archivo de página para mejorar el
rendimiento cuando un sistema Windows usa de forma crónica mucha más memoria que su
memoria física total. [ cita requerida ] Esta vista ignora el hecho de que, aparte de los resultados
temporales de la expansión, el archivo de paginación no se fragmenta con el tiempo. En
general, los problemas de rendimiento relacionados con el acceso a los archivos de
paginación se abordan de manera mucho más efectiva al agregar más memoria física.

Sistemas Unix y similares a Unix [ editar ]


Los sistemas Unix y otros sistemas operativos similares a Unix usan el término "intercambio"
para describir tanto el acto de mover páginas de memoria entre RAM y disco, [ cita requerida ] como
la región de un disco en el que se almacenan las páginas. En algunos de esos sistemas, es
común dedicar una partición completa de un disco duro al intercambio. Estas particiones se
denominan particiones de intercambio . Muchos sistemas tienen un disco duro completo
dedicado al intercambio, separado de la (s) unidad (es) de datos, que contiene solo una
partición de intercambio. Un disco duro dedicado al intercambio se denomina "unidad de
intercambio" o "unidad de memoria virtual " o " disco de memoria virtual ". Algunos de esos
sistemas solo admiten el intercambio a una partición de intercambio; otros también admiten el
intercambio de archivos.
Linux [ editar ]
Consulte también: Intercambiar particiones en SSD , zswap y zram
El kernel de Linux admite una cantidad prácticamente ilimitada de backends de intercambio
(dispositivos o archivos), y también admite la asignación de prioridades de backend. Cuando
el núcleo necesita intercambiar páginas de la memoria física, utiliza el backend de mayor
prioridad con espacio libre disponible. Si se asignan la misma prioridad a varios backends de
intercambio, se usan de forma circular (que es algo similar a los diseños de
almacenamiento RAID 0 ), lo que proporciona un rendimiento mejorado siempre que se pueda
acceder de manera eficiente a los dispositivos subyacentes en paralelo. [14]
Intercambiar archivos y particiones [ editar ]
Desde la perspectiva del usuario final, los archivos de intercambio en las versiones 2.6.xy
posteriores del kernel de Linux son prácticamente tan rápidos como las particiones de
intercambio; La limitación es que los archivos de intercambio deben asignarse de forma
contigua en sus sistemas de archivos subyacentes. Para aumentar el rendimiento de los
archivos de intercambio, el kernel mantiene un mapa de dónde están ubicados en los
dispositivos subyacentes y accede a ellos directamente, evitando así la memoria caché y
evitando la sobrecarga del sistema de archivos. [15] [16] Independientemente, Red
Hat recomienda el uso de particiones de intercambio. [17]Al residir en HDD, que son dispositivos
de medios magnéticos rotativos, una ventaja de usar particiones de intercambio es la
capacidad de colocarlos en áreas contiguas de HDD que proporcionan un mayor rendimiento
de datos o un tiempo de búsqueda más rápido. Sin embargo, la flexibilidad administrativa de
los archivos de intercambio puede superar ciertas ventajas de las particiones de
intercambio. Por ejemplo, un archivo de intercambio se puede colocar en cualquier sistema de
archivos montado, se puede establecer en cualquier tamaño deseado y se puede agregar o
cambiar según sea necesario. Las particiones de intercambio no son tan flexibles; no pueden
ampliarse sin utilizar herramientas de partición o de gestión de volumen , que introducen
diversas complejidades y posibles tiempos de inactividad.
Swappiness [ editar ]
Swappiness es un parámetro de kernel de Linux que controla el peso relativo dado
al intercambio de memoria de tiempo de ejecución , en lugar de eliminar páginas de
la memoria caché de páginas del sistema , siempre que no se pueda satisfacer una solicitud
de asignación de memoria desde la memoria "libre". El intercambio se puede establecer en
valores entre 0 y 100 inclusive. Un valor bajo hace que el núcleo prefiera expulsar páginas del
caché de la página; un valor más alto hace que el núcleo prefiera intercambiar páginas de
memoria "en frío". El valor predeterminado es 60 ; establecerlo más alto aumentará el
rendimiento general (particularmente el disco IO) con el riesgo de una latencia alta ocasional si
las páginas frías deben volver a intercambiarse, mientras que establecerlo más bajo (incluso
0) puede proporcionar una latencia más baja constantemente. Ciertamente, los valores
predeterminados funcionan bien en la mayoría de las cargas de trabajo, pero los escritorios y
sistemas interactivos con RAM más que adecuada para cualquier tarea esperada pueden
querer reducir la configuración mientras que el procesamiento por lotes y los sistemas menos
interactivos pueden querer aumentarla. [18]
Intercambiar la muerte [ editar ]
Cuando la memoria del sistema es muy insuficiente para las tareas actuales y una gran parte
de la actividad de la memoria pasa por un intercambio lento, el sistema puede ser
prácticamente incapaz de ejecutar cualquier tarea, incluso si la CPU está inactiva. Cuando
cada proceso está esperando en el intercambio, se considera que el sistema está en la muerte
del intercambio . [19] [20]
La muerte de intercambio puede ocurrir debido a un sobrecompromiso de
memoria configurado incorrectamente . [21] [22] [23]
La descripción original del problema "intercambio de la muerte" se relaciona con el servidor
X . Si el código o los datos utilizados por el servidor X para responder a una pulsación de tecla
no están en la memoria principal, entonces si el usuario ingresa una pulsación de tecla, el
servidor tomará una o más fallas de página, requiriendo que esas páginas se lean del
intercambio antes de que se pueda presionar la tecla procesado, ralentizando la respuesta. Si
esas páginas no permanecen en la memoria, tendrán que ingresar nuevamente para manejar
la siguiente pulsación de tecla, haciendo que el sistema prácticamente no responda, incluso si
en realidad está ejecutando otras tareas normalmente. [24]
macOS [ editar ]
macOS usa múltiples archivos de intercambio. La instalación predeterminada (y recomendada
por Apple) los coloca en la partición raíz, aunque es posible colocarlos en una partición o
dispositivo separado. [25]

AmigaOS 4 [ editar ]
AmigaOS 4.0 introdujo un nuevo sistema para asignar RAM y desfragmentar la memoria
física. Todavía utiliza un espacio de direcciones compartido plano que no se puede
desfragmentar. Se basa en el método de asignación de losas y la memoria de paginación que
permite el intercambio. La paginación se implementó en AmigaOS 4.1 pero puede bloquear el
sistema si se agota toda la memoria física. [26] La memoria de intercambio se puede activar y
desactivar en cualquier momento, lo que permite al usuario elegir usar solo RAM física.

Rendimiento [ editar ]
El almacén de respaldo para un sistema operativo de memoria virtual es típicamente muchos
órdenes de magnitud más lento que la RAM . Además, el uso de dispositivos de
almacenamiento mecánico introduce retraso , varios milisegundos para un disco duro. Por lo
tanto, es deseable reducir o eliminar el intercambio, cuando sea práctico. Algunos sistemas
operativos ofrecen configuraciones para influir en las decisiones del kernel.

 Linux ofrece el parámetro, que cambia el equilibrio entre intercambiar memoria de tiempo
de ejecución, en lugar de soltar páginas del caché de páginas del
sistema . /proc/sys/vm/swappiness
 Windows 2000, XP y Vista ofrecen la DisablePagingExecutive configuración de
registro, que controla si el código y los datos en modo kernel pueden ser elegibles para la
paginación.
 Las computadoras mainframe frecuentemente usaban unidades de disco de cabeza por
pista o tambores para el almacenamiento de páginas e intercambio para eliminar el tiempo
de búsqueda, y varias tecnologías [27] para tener múltiples solicitudes concurrentes al
mismo dispositivo para reducir la latencia rotacional .
 La memoria flash tiene un número finito de ciclos de borrado de escritura
(consulte Limitaciones de la memoria flash ), y la cantidad más pequeña de datos que se
puede borrar de una vez puede ser muy grande (128 KiB para un SSD Intel X25-M [28] ),
rara vez coincide con el tamaño de página. Por lo tanto, la memoria flash puede
desgastarse rápidamente si se usa como espacio de intercambio en condiciones de poca
memoria. En el lado atractivo, la memoria flash es prácticamente sin demora en
comparación con los discos duros, y no es volátilcomo los chips RAM. Los esquemas
como ReadyBoost e Intel Turbo Memory están diseñados para explotar estas
características.
Muchos sistemas operativos tipo Unix (por ejemplo , AIX , Linux y Solaris ) permiten usar
múltiples dispositivos de almacenamiento para intercambiar espacio en paralelo, para
aumentar el rendimiento.

Tamaño del espacio de intercambio [ editar ]


En algunos sistemas operativos de memoria virtual anteriores, el espacio en el almacén de
respaldo de intercambio se reserva cuando los programas asignan memoria para datos de
tiempo de ejecución. Los proveedores de sistemas operativos suelen emitir pautas sobre
cuánto espacio de intercambio debe asignarse.

Límites de direccionamiento en hardware de 32


bits [ editar ]
La paginación es una forma de permitir que el tamaño de las direcciones utilizadas por un
proceso, que es el "espacio de direcciones virtuales" o "espacio de direcciones lógicas" del
proceso, sea diferente de la cantidad de memoria principal realmente instalada en una
computadora en particular, que es El espacio de direcciones físicas.

Memoria principal más pequeña que la memoria virtual [ editar ]


En la mayoría de los sistemas, el tamaño del espacio de direcciones virtuales de un proceso
es mucho mayor que la memoria principal disponible. [29] Por ejemplo:

 El bus de direcciones que conecta la CPU a la memoria principal puede estar


limitado. Las direcciones internas de 32 bits de la CPU i386SX pueden direccionar 4 GB,
pero solo tiene 24 pines conectados al bus de direcciones, lo que limita la memoria física
instalada a 16 MB. Puede haber otras restricciones de hardware sobre la cantidad máxima
de RAM que se puede instalar.
 Es posible que la memoria máxima no se instale debido al costo, porque la configuración
estándar del modelo la omite o porque el comprador no creía que sería ventajoso.
 A veces, no todas las direcciones internas se pueden usar para la memoria de todos
modos, porque la arquitectura de hardware puede reservar grandes regiones para E / S u
otras características.
Memoria principal del mismo tamaño que la memoria
virtual [ editar ]
Una computadora con direccionamiento verdadero de n bits puede
tener instaladas 2 n unidades de RAM direccionables. Un ejemplo es un procesador x86 de 32
bits con 4 GB y sin extensión de dirección física (PAE). En este caso, el procesador puede
direccionar toda la RAM instalada y nada más.
Sin embargo, incluso en este caso, la paginación se puede utilizar para crear una memoria
virtual de más de 4 GB. Por ejemplo, muchos programas pueden ejecutarse
simultáneamente. Juntos, pueden requerir más de 4 GB, pero no todo tendrá que estar en la
RAM al mismo tiempo. Un sistema de paginación toma decisiones eficientes sobre qué
memoria relegar al almacenamiento secundario, lo que lleva al mejor uso de la RAM instalada.
Aunque el procesador en este ejemplo no puede abordar la RAM más allá de 4 GB, el sistema
operativo puede proporcionar servicios a programas que visualizan una memoria más grande,
como archivos que pueden crecer más allá del límite de la RAM instalada. El sistema
operativo permite que un programa manipule datos en el archivo arbitrariamente, utilizando
paginación para traer partes del archivo a la RAM cuando sea necesario.

Memoria principal más grande que el espacio de dirección


virtual [ editar ]
Algunas computadoras tienen una memoria principal más grande que el espacio de
direcciones virtuales de un proceso, como el Magic-1, [29] algunas máquinas PDP-11 y algunos
sistemas que utilizan procesadores x86 de 32 bits con extensión de dirección física . Esto
anula una ventaja significativa de la memoria virtual, ya que un solo proceso no puede usar
más memoria principal que la cantidad de su espacio de direcciones virtuales. Tales sistemas
a menudo usan técnicas de paginación para obtener beneficios secundarios:

 La "memoria adicional" se puede utilizar en la memoria caché


de la página para almacenar en caché los archivos y metadatos de uso frecuente, como la
información del directorio, del almacenamiento secundario.
 Si el procesador y el sistema operativo admiten múltiples espacios de direcciones
virtuales, la "memoria adicional" se puede usar para ejecutar más procesos. La paginación
permite que el total acumulativo de espacios de direcciones virtuales supere la memoria
principal física.
 Un proceso puede almacenar datos en archivos asignados en memoria en sistemas de
archivos respaldados por memoria, como el sistema de archivos tmpfs o sistemas de
archivos en una unidad RAM , y asignar archivos dentro y fuera del espacio de direcciones
según sea necesario.
 Un conjunto de procesos aún puede depender de las características de seguridad
mejoradas que el aislamiento basado en páginas puede aportar a un entorno multitarea.
El tamaño del total acumulado de espacios de direcciones virtuales todavía está limitado por la
cantidad de almacenamiento secundario disponible.

Ver también

Você também pode gostar