Cómo usar tu HDD como RAM

Estoy bastante sorprendido de que solo una respuesta haya mencionado la memoria virtual. Brecha generacional ?

La memoria virtual es un mecanismo de gestión de memoria en los sistemas operativos. Cuando la aplicación (un proceso ) asigna memoria, el sistema operativo realmente le dará un punto de dirección a algún espacio de memoria virtual (que significa ” no real “). Para la aplicación, puede tratar las memorias adquiridas como un bloque de memoria continuo, pero de hecho está disperso por el espacio de memoria real, incluida la RAM física y el disco duro.

El sistema operativo puede reorganizar dinámicamente el bloque de memoria mapeado en todo el espacio de memoria, de acuerdo con la situación de uso de recursos. En realidad, no necesita “quedarse sin RAM física” antes de que el sistema operativo comience a usar el disco duro. El sistema operativo tendrá una política sobre cuándo y cómo ajustar las memorias virtuales.

Bajo ciertas circunstancias, el sistema operativo puede barajar grandes cantidades de memoria de las aplicaciones de uso menos frecuente en el disco duro, liberando así más espacio para la aplicación frontend para un mejor rendimiento. Por supuesto, los discos duros son lentos y dicho proceso de barajado (lo llamamos “cambio de contenido”) requiere más tiempo para finalizar. Es por eso que sufrirá retrasos al cambiar las aplicaciones en computadoras antiguas.

En resumen: si solo escribe aplicaciones de espacio de usuario, ya está utilizando el disco duro como RAM en su aplicación, sin saberlo.

Use la llamada al sistema mmap. Le da un archivo y le devolverá una dirección virtual que puede usar como memoria que se escribirá y leerá desde un archivo.

mmap (2) – Página del manual de Linux

Al usar la opción MAP_ANONYMOUS, puede usarla exactamente como una memoria de intercambio y ni siquiera necesita especificar un archivo.

Primero que nada, no puedes. En segundo lugar, si pudieras usar un HDD como RAM, sería extremadamente lento. La RAM debe actualizarse constantemente para contener nuevos datos y actúa como un recipiente de almacenamiento de datos antes de que la CPU la procese. El HDD no podría actualizar y sobrescribir los datos lo suficientemente rápido como para mantenerse al día con la demanda de la CPU.

No puede usarlo de la misma manera porque la RAM está en un bus separado en la CPU. Algunas computadoras muy tempranas en Burroughs lo hicieron.