web-dev-qa-db-fra.com

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

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

Je reçois ce qui suit (après avoir ajouté la date et la taille modifiées en dernier):

/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 dans 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:

  • Qu'est-ce que icon-theme.cache et quelle est sa fonction? Quel est le sens de cache dans ces noms de fichiers? La définition de étiquette de cache est la suivante: " un cache stocke les données temporaires à proximité de sorte qu'elles puissent être récupérées beaucoup plus rapidement que de les récupérer à partir de la sauvegarde réelle (disque, réseau), ou recalculer certains résultats à nouveau ".
  • Pourquoi les tailles de fichiers sont-elles si diverses? Les gnome et hicolor sont-ils les plus grands parce qu'ils fournissent les icônes de secours (comme je l'ai lu quelque part)?
  • Qu'en est-il des dates? Je ne suis sûr que des ubuntu-mono parce qu'ils sont apparus lors de l'installation de light-themes sur 20130408. Ces fichiers sont donc modifiés au cours du changement de thème ou les dates ne sont-elles qu'un reflet de la date d'installation?
9
user25656

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

Fichiers mappés en mémoire: Les fichiers mappés en mémoire sont des segments de la mémoire virtuelle qui sont directement mappés sur un fichier physique sur disque, octet par octet. Il présente de nombreux 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 d'utiliser 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 de 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 réalité le cache de page du noyau (cache de fichier), ce qui signifie qu'aucune copie ne doit être créée dans l'espace utilisateur.

Maintenant, prenons vos questions une à une:

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

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

    GTK + peut utiliser les fichiers de cache pour éviter beaucoup d’appel système et de surcharge du disque lors du démarrage de l’application. Étant donné que le format des fichiers de cache permet de les mapper en mémoire partagée entre plusieurs applications, la consommation de mémoire globale est également réduite.

  2. Pourquoi les tailles de fichiers sont-elles si différentes?

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

  3. Qu'en est-il des dates?

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

    Par conséquent, la date de modification dépendra probablement du moment où un processus l'a mise à jour. Dans ce cas, il se peut que les icônes du thème soient utilisées.

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

Sources et informations complémentaires:

11
green