El término viene del inglés o del francés “cache” que sirve
para designar lugares donde se esconden cosas, como los famosos “secretos” de
los escritorios antiguos, que eran compartimentos a los que era difícil acceder
si no se conocía el cómo hacerlo. En informática la palabra se usa sin tilde
para no confundirla con caché que sirve para indicar que es una persona fina o
elegante.
El cache o memoria cache es un área de reserva de la memoria RAM, en
especial la SDRAM (la más veloz actualmente de las RAM) que tiene los programas
básicos que el sistema operativo utiliza con mayor frecuencia. Se alojan allí
para no estar consultando otras formas de memoria más lentas, como sería volver
a releer el disco duro o un CD. También hay un cache que se almacena en el disco
duro, esto con la finalidad de que los programas busquen allí primero los datos
que no están en el cache SDRAM, sea porque no eran necesarios allí o porque la
SDRAM está muy llena. Esto economiza algo de tiempo en la búsqueda de datos.
La
política de los sistemas es tener un cache en SDRAM lo más completo posible para
consultar lo menos posible al cache en disco. En esto los sistemas operativos
difieren bastante pues administran la memoria SDRAM de forma paralela o de forma
serial. En forma serial el cache se utiliza colocando todos los datos uno
después del otro en formando una sola hilera (simplificando mucho la
terminología que usan los programadores) tengo entendido que los sistemas
basados en el viejo DOS (Disk Operative System, sistema operativo de discos)
como las primeras versiones de Windows así lo hacían.
Hoy la manera de almacenar
los datos es diferente, en forma paralela, lo que permite que una serie de datos
no tenga que moverse pues no se colocan en “hileras” sino en “pilas” (nuevamente
simplificando). También es interesante que algunos mencionan que el cache se
organiza en filas y columnas. En teoría debería organizarse en filas primero
pero algunos sistemas lo hacen por columnas lo que parece mejorar el
rendimiento. En realidad para un usuario final como usted o yo esto no
representa una gran diferencia a menos que su máquina esté diseñada para
utilizar grandes recursos, como el diseño gráfico y los vídeo juegos. Pero en
compañías con grandes servidores los nanosegundos de diferencia entre un sistema
y otro pueden representar mucho tiempo máquina que es caro.
Muchos programas y
el mismo sistema operativo permite configurar el tamaño del cache que va a usar
en los diversos proceso. Hay que tomar en cuenta que a menos de que se traten de
grandes aplicaciones gráficas el cache de un programa no ocupará más allá del 1%
de la RAM. Digo esto porque muchos usuarios configuran grandes cache y lo que
hacen es quitarle espacio al sistema operativo y con ello disminuir el
rendimiento del sistema sin aumentar en forma apreciable el rendimiento de sus
aplicaciones. Es un buen consejo tocar el tamaño de los cache de los programas
siempre y cuando se administre de manera adecuada. Como consejo el cache se
puede duplicar en la mayoría y si uno nota cierta tendencia a que el sistema se
ponga lento pues entonces se vuelven a sus valores originales.