Articulo de referencia

caché de página

En informática, una caché de páginas , también conocida como caché de disco , [ 1 ] es una caché transparente para las páginas que se originan en un dispositivo de almacenamient...

En informática, una caché de páginas , también conocida como caché de disco , [ 1 ] es una caché transparente para las páginas que se originan en un dispositivo de almacenamiento secundario , como un disco duro (HDD) o una unidad de estado sólido (SSD). El sistema operativo mantiene una caché de páginas en porciones no utilizadas de la memoria principal (RAM), lo que resulta en un acceso más rápido al contenido de las páginas almacenadas en caché y una mejora general del rendimiento. La caché de páginas se implementa en los núcleos mediante la gestión de memoria paginada y es, en su mayor parte, transparente para las aplicaciones.

Por lo general, toda la memoria física no asignada directamente a las aplicaciones es utilizada por el sistema operativo para la caché de páginas. Dado que, de otro modo, la memoria estaría inactiva y se recupera fácilmente cuando las aplicaciones la solicitan, normalmente no hay una penalización en el rendimiento y el sistema operativo incluso podría informar de dicha memoria como "libre" o "disponible".

En comparación con la memoria principal, las operaciones de lectura/escritura de los discos duros son lentas y los accesos aleatorios requieren costosas búsquedas en el disco ; como resultado, una mayor cantidad de memoria principal mejora el rendimiento, ya que se puede almacenar más información en la memoria caché. [ 2 ] El almacenamiento en caché de disco independiente se proporciona en el hardware, mediante chips de RAM o NVRAM dedicados ubicados en el controlador de disco (en cuyo caso la caché está integrada en un disco duro y generalmente se denomina búfer de disco [ 3 ] ), o en un controlador de matriz de discos ; esta memoria no debe confundirse con la caché de páginas. El sistema operativo también puede usar parte de la memoria principal como búfer de escritura del sistema de archivos, que puede denominarse búfer de páginas . [ 4 ]

Conservación de la memoria

Las páginas en la caché de páginas modificadas después de ser cargadas se denominan páginas sucias. [ 5 ] Dado que las páginas no sucias en la caché de páginas tienen copias idénticas en el almacenamiento secundario (por ejemplo, disco duro o unidad de estado sólido), descartar y reutilizar su espacio es mucho más rápido que paginar la memoria de la aplicación, y a menudo se prefiere a vaciar las páginas sucias en el almacenamiento secundario y reutilizar su espacio. Los binarios ejecutables , como las aplicaciones y las bibliotecas, también se acceden normalmente a través de la caché de páginas y se asignan a espacios de procesos individuales mediante memoria virtual (esto se hace a través de la llamada al sistema mmap en sistemas operativos tipo Unix). Esto no solo significa que los archivos binarios se comparten entre procesos separados, sino también que las partes no utilizadas de los binarios se vaciarán de la memoria principal eventualmente, lo que conduce a la conservación de la memoria.

Dado que las páginas almacenadas en caché se pueden eliminar y reutilizar fácilmente, algunos sistemas operativos, en particular Windows NT , incluso informan del uso de la caché de páginas como memoria "disponible", cuando en realidad la memoria está asignada a páginas de disco. Esto ha generado cierta confusión sobre la utilización de la caché de páginas en Windows.

Escrituras en disco

La caché de páginas también facilita la escritura en disco. Las páginas de la memoria principal que se han modificado durante la escritura de datos en disco se marcan como "sucias" y deben escribirse en disco antes de poder liberarse. Cuando se escribe un archivo, se busca la página en caché correspondiente al bloque en cuestión. Si ya se encuentra en la caché de páginas, la escritura se realiza en esa página de la memoria principal. Si no se encuentra en la caché de páginas, cuando la escritura coincide exactamente con los límites del tamaño de página , la página ni siquiera se lee del disco, sino que se asigna y se marca inmediatamente como sucia. En caso contrario, las páginas se recuperan del disco y se realizan las modificaciones solicitadas. Un archivo creado o abierto en la caché de páginas, pero en el que no se escribe, podría resultar en un archivo de cero bytes en una lectura posterior.

Sin embargo, no todas las páginas almacenadas en caché se pueden modificar, ya que el código del programa a menudo se asigna como de solo lectura o de copia en escritura ; en este último caso, las modificaciones al código solo serán visibles para el propio proceso y no se escribirán en el disco.

Ataques de canal lateral

En 2019, investigadores de seguridad demostraron ataques de canal lateral contra la caché de páginas: es posible eludir la separación de privilegios y extraer datos sobre otros procesos mediante el monitoreo sistemático de si algunas páginas de archivos (por ejemplo, archivos ejecutables o de biblioteca ) están presentes en la caché o no. [ 6 ]

Véase también

Referencias

  1. Robert Love (12 de enero de 2005). "Desarrollo del núcleo de Linux (Segunda edición), Capítulo 15. La caché de páginas y la escritura diferida de páginas" . makelinux.net . Sams Publishing. Archivado del original el 17 de marzo de 2013. Consultado el 24 de julio de 2015 .
  2. "Caché de disco" . Webopedia . Septiembre de 1996.
  3. Mark Kyrnin. "Qué buscar en un disco duro" . about.com . Archivado del original el 4 de abril de 2015. Consultado el 20 de diciembre de 2014. El búfer de un disco es una cantidad de RAM en el disco para almacenar datos a los que se accede con frecuencia.
  4. "free(1) — procps — Debian bookworm — Debian Manpages" .
  5. "Glosario - Biblioteca TechNet" . Microsoft. 28 de enero de 2010.
  6. Gruss, Daniel; Kraft, Erik; Tiwari, Trishita; Schwarz, Michael; Trachtenberg, Ari; Hennessey, Jason; Ionescu, Alex; Fogh, Anders (2019-01-04). "Ataques a la caché de páginas". arXiv : 1901.01161 [ cs.CR ].
  • Caché de páginas: la relación entre la memoria y los archivos.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Page_cache&oldid=1345724354 "