Che cos'è icon-theme.cache?


10

Quando eseguo il seguente comando sul mio Lubuntu 12.10

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

Ottengo quanto segue (dopo aver aggiunto la data e le dimensioni dell'ultima modifica):

/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

E tutti questi file, come mostrato nell'esempio seguente, sono di 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

Le mie domande, tutte strettamente correlate, sono:

  • Che cos'è icon-theme.cachee qual è la sua funzione? Qual è il significato di cachein questi nomi di file? La definizione del tag cache è questa: " una cache memorizza i dati temporanei nelle vicinanze in modo che possano essere recuperati molto più rapidamente rispetto al recupero dall'archivio di backup reale (disco, rete) o al ricalcolo di nuovo un risultato ".
  • Perché le dimensioni dei file sono così diverse? Gli gnomee hicolorsono i più grandi perché forniscono le icone di fallback (mentre leggo da qualche parte)?
  • E le date? Ne sono sicuro solo ubuntu-monoperché sono arrivati ​​quando ho installato light-themesil 20130408. Quindi questi file vengono modificati nel corso del cambio di temi o le date sono solo un riflesso della data di installazione?

Risposte:


12

Per capire perché abbiamo bisogno di questi file, devi prima capire il concetto di mappare i file in memoria .

File mappati in memoria : i file mappati in memoria sono segmenti di memoria virtuale che sono mappati direttamente su un file fisico su disco, byte per byte. Presenta numerosi vantaggi rispetto agli I / O tradizionali basati su stream, come le prestazioni durante l'accesso casuale a file di grandi dimensioni o la possibilità di condividere la memoria mappata tra thread e processi diversi.

L'accesso ai file associati alla memoria è più rapido dell'utilizzo delle operazioni di lettura e scrittura diretta per due motivi. Innanzitutto, una chiamata di sistema è più lenta degli ordini di grandezza rispetto a una semplice modifica alla memoria locale di un programma. In secondo luogo, nella maggior parte dei sistemi operativi la regione di memoria mappata in realtà è la cache della pagina del kernel (cache dei file), il che significa che non è necessario creare copie nello spazio utente.

Ora, ponendo le domande una per una:

  1. Che cos'è icon-theme.cache e qual è la sua funzione? Qual è il significato di cache in questi nomi di file?

    Il file icon-theme.cache contiene informazioni memorizzate nella cache sulle icone nella struttura di directory sotto una determinata directory (che risulta essere quella contenente index.themeper il tema specifico).

    GTK + può utilizzare i file della cache per evitare molte chiamate di sistema e l'overhead di ricerca del disco all'avvio dell'applicazione. Poiché il formato dei file della cache consente di mappare la memoria condivisa tra più applicazioni, anche il consumo complessivo di memoria viene ridotto.

  2. Perché le dimensioni dei file sono così diverse?

    Le dimensioni del file dipendono dal numero di icone nel tema icona.

  3. E le date?

    Se prendiamo le cache di memoria, qualcosa è presente nella cache solo se alcuni processi accedono a una particolare posizione di memoria e rimangono lì a meno che la cache non sia piena e che l'elemento debba essere rimosso.

    Quindi, molto probabilmente la data di modifica dipenderà da quando un processo l'ha aggiornata. In questo caso, potrebbe essere quando sono state utilizzate le icone del tema.

    Esiste, infatti, un comando per aggiornare la cache delle icone denominata gtk-update-icon-cache.

Fonti e ulteriori informazioni:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.