Qu'est-ce que icon-theme.cache?

10

Lorsque j'exécute la commande suivante sur mon Lubuntu 12.10

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

J'obtiens ce qui suit (après avoir ajouté la dernière date et taille modifiées):

/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

Et tous ces fichiers, comme le montre l'exemple ci-dessous, sont de type TrueType font data:

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

Mes questions, toutes étroitement liées, sont les suivantes:

  • Quelle est icon-theme.cacheet quelle est sa fonction? Quelle est la signification de cacheces noms de fichiers? La définition de la balise de cache est la suivante: " un cache stocke des données temporaires à proximité afin qu'elles puissent être récupérées beaucoup plus rapidement que de les récupérer dans le vrai magasin de sauvegarde (disque, réseau), ou de recalculer à nouveau certains résultats ".
  • Pourquoi les tailles de fichiers sont-elles si diverses? Les gnomeet hicolorsont-ils les plus grands parce qu'ils fournissent les icônes de secours (comme je l'ai lu quelque part)?
  • Et les dates? Je ne suis sûr que de ubuntu-monoceux - là car ils sont arrivés lors de mon installation light-themessur 20130408. Ces fichiers sont-ils donc modifiés au cours du changement de thème ou les dates ne sont-elles que le reflet de la date d'installation?
Communauté
la source

Réponses:

12

Pour comprendre pourquoi nous avons besoin de ces fichiers, vous devez d'abord comprendre le concept de mappage des fichiers à la mémoire .

Fichiers mappés en mémoire : les fichiers mappés en mémoire sont des segments de mémoire virtuelle qui sont directement mappés sur un fichier physique sur le disque, octet par octet. Il présente un certain nombre d'avantages par rapport aux E / S traditionnelles basées sur les flux, telles que les performances lors d'un accès aléatoire à des fichiers volumineux ou la possibilité de partager la mémoire mappée entre différents threads et processus.

L'accès aux fichiers mappés en mémoire est plus rapide que l'utilisation des opérations de lecture et d'écriture directes pour deux raisons. Tout d'abord, un appel système est beaucoup plus lent qu'un simple changement dans la mémoire locale d'un programme. Deuxièmement, dans la plupart des systèmes d'exploitation, la région mémoire mappée est en fait le cache de pages du noyau (cache de fichiers), ce qui signifie qu'aucune copie ne doit être créée dans l'espace utilisateur.

Maintenant, prenez vos questions une par une:

  1. Qu'est-ce que icon-theme.cache et quelle est sa fonction? Quelle est la signification du cache dans ces noms de fichiers?

    Le fichier icon-theme.cache contient des informations mises en cache sur les icônes de l'arborescence de répertoires sous un certain répertoire (qui se trouve être celui contenant index.themepour le thème particulier).

    GTK + peut utiliser les fichiers de cache pour éviter beaucoup d'appels système et de surcharge de recherche de disque au démarrage de l'application. Étant donné que le format des fichiers de cache leur permet d'être mappés en mémoire partagée entre plusieurs applications, la consommation globale de mémoire est également réduite.

  2. Pourquoi les tailles de fichiers sont-elles si diverses?

    La taille des fichiers dépend du nombre d'icônes dans le thème d'icônes.

  3. Et les dates?

    Si nous prenons des caches de mémoire, quelque chose n'est présent dans le cache que si un processus accède à un emplacement de mémoire particulier et y reste, sauf si le cache est plein et que cet élément doit être supprimé.

    Par conséquent, la date de modification dépendra très probablement du moment où un processus l'a mise à jour. Dans ce cas, cela peut être lorsque les icônes du thème ont été utilisées.

    Il existe en effet une commande pour mettre à jour le cache d'icônes nommé gtk-update-icon-cache.

Sources et informations complémentaires:

vert
la source