Lectura y escritura de discos duros son lentos. Mientras que la tasa de transferencia de datos del disco duro promedio es de varios cientos de megabytes por segundo , esto sigue siendo mucho más lento que la RAM. El resultado es que los discos duros son probablemente el principal cuello de botella en el equipo, y el rendimiento van a sufrir , no importa qué tan rápido es su unidad de procesamiento central ( CPU) y la memoria.
Beneficios
Dado que la memoria es mucho más rápido que la lectura de un disco , tiene sentido usarlo tanto como sea posible . Una manera de Linux hace esto es por el almacenamiento en caché los archivos de acceso frecuente en RAM. La próxima vez se necesita el archivo , que puede ser recuperada directamente de la memoria , sin la necesidad de leer desde el disco . Linux sólo utiliza memoria sin utilizar para ello, por lo que no interfiere con la memoria utilizada por las aplicaciones.
Gestión
Con este enfoque , se debe tomar para mantener los datos sincronizados . Si se modifica un archivo de caché, debe escribirse al disco en algún momento. Típicamente Linux tampones tales escribe hasta que haya un trozo de datos a escribir , en lugar de hacer un montón de pequeño escribe . Esto mejora el rendimiento general del sistema .
Tamaño
Dado que la memoria tiene un tamaño finito, por lo general no es posible caché todo. Se deben tomar decisiones acerca de los archivos de caché y cuándo eliminar los archivos antiguos de la caché . Linux hace esto mediante el mantenimiento de un registro de la frecuencia con que los archivos almacenados en caché se están leyendo y cuando se accedió por última vez . Si la memoria se corta , Linux purgará menos frecuentemente visitada archivos de la memoria caché en lugar de más acceso frecuente queridos.
No es exclusivo de Linux
memoria caché no es exclusivo de Linux, pero se implementa en cierta medida en la mayoría de los sistemas operativos modernos . El usuario a menudo no sabe nada de los detalles de la memoria caché y sólo es consciente de la memoria en uso por las aplicaciones. Esto puede hacer que sea difícil para los nuevos usuarios de Linux para interpretar la salida de comandos , como "libre" y pueden causar confusión sobre la cantidad de memoria disponible de un usuario .