¿Qué es icon-theme.cache?

10

Cuando ejecuto el siguiente comando en mi Lubuntu 12.10

[11:09 PM] ~ $ find /usr/share/icons/ -iname icon-theme.cache -type f

Recibo lo siguiente (después de agregar la última fecha y tamaño modificado):

/usr/share/icons/lubuntu/icon-theme.cache              20121125  61.2 KiB
/usr/share/icons/Humanity-Dark/icon-theme.cache        20120810  40.6 KiB
/usr/share/icons/Humanity/icon-theme.cache             20120810 931.9 KiB
/usr/share/icons/gnome/icon-theme.cache                20121017  65.8 MiB
/usr/share/icons/ubuntu-mono-light/icon-theme.cache    20130408 140.0 KiB
/usr/share/icons/LoginIcons/icon-theme.cache           20130408   628 bytes
/usr/share/icons/ubuntu-mono-dark/icon-theme.cache     20130408 139.9 KiB
/usr/share/icons/hicolor/icon-theme.cache              20130406  12.4 MiB
/usr/share/icons/elementary-mono-dark/icon-theme.cache 20120926  12.4 KiB

Y todos estos archivos, como se muestra en el ejemplo a continuación, son de tipo TrueType font data:

[11:09 PM] ~ $ file /usr/share/icons/hicolor/icon-theme.cache
/usr/share/icons/hicolor/icon-theme.cache: TrueType font data

Mis preguntas, todas muy relacionadas, son:

  • ¿Qué es icon-theme.cachey cuál es su función? ¿Cuál es el significado de cacheestos nombres de archivo? La definición de la etiqueta de caché es la siguiente: " un caché almacena datos temporales cercanos para que puedan recuperarse mucho más rápidamente que recuperarlos del almacén de respaldo real (disco, red) o volver a calcular algún resultado de nuevo ".
  • ¿Por qué los tamaños de archivo son tan diversos? ¿Son los gnomey hicolorlos más grandes porque proporcionan los iconos de respaldo (como leí en alguna parte)?
  • ¿Qué hay de las fechas? Solo estoy seguro de ubuntu-monoellos porque aparecieron cuando instalé light-themesel 20130408. Entonces, ¿estos archivos se modifican durante el cambio de temas o las fechas son solo un reflejo de la fecha de instalación?
Comunidad
fuente

Respuestas:

12

Para comprender por qué necesitamos estos archivos, primero debe comprender el concepto de asignación de archivos a la memoria .

Archivos mapeados de memoria : los archivos mapeados de memoria son segmentos de memoria virtual que se mapean directamente a un archivo físico en el disco, byte a byte. Tiene una serie de beneficios sobre las E / S basadas en transmisiones tradicionales, como el rendimiento durante el acceso aleatorio a archivos grandes o la capacidad de compartir la memoria asignada entre diferentes subprocesos y procesos.

Acceder a archivos mapeados en memoria es más rápido que usar operaciones de lectura y escritura directas por dos razones. En primer lugar, una llamada al sistema es un orden de magnitud más lento que un simple cambio en la memoria local de un programa. En segundo lugar, en la mayoría de los sistemas operativos, la región de memoria asignada es la memoria caché de la página del núcleo (memoria caché de archivos), lo que significa que no es necesario crear copias en el espacio del usuario.

Ahora, tomando sus preguntas una por una:

  1. ¿Qué es icon-theme.cache y cuál es su función? ¿Cuál es el significado de caché en estos nombres de archivo?

    El archivo icon-theme.cache contiene información almacenada en caché sobre los iconos en el árbol de directorios debajo de un determinado directorio (que resulta ser el que contiene index.themeel tema en particular).

    GTK + puede usar los archivos de caché para evitar una gran cantidad de llamadas al sistema y sobrecarga de búsqueda de disco cuando se inicia la aplicación. Dado que el formato de los archivos de caché les permite mapear la memoria compartida entre múltiples aplicaciones, el consumo general de memoria también se reduce.

  2. ¿Por qué los tamaños de archivo son tan diversos?

    El tamaño de los archivos depende de la cantidad de iconos en el tema del icono.

  3. ¿Qué hay de las fechas?

    Si tomamos memorias caché, algo está presente en la memoria caché solo si algún proceso accede a una ubicación de memoria particular y permanece allí a menos que la memoria caché esté llena y ese elemento deba eliminarse.

    Por lo tanto, la fecha de modificación probablemente dependerá de cuándo algún proceso la actualizó. En este caso, podría ser cuando se usaron los íconos del tema.

    De hecho, hay un comando para actualizar el caché de iconos llamado gtk-update-icon-cache.

Fuentes y más información:

verde
fuente