O que é icon-theme.cache?

9

Quando eu executo o seguinte comando no meu Lubuntu 12.10

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

Eu recebo o seguinte (depois de adicionar a data e o tamanho da última modificação):

/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 todos esses arquivos, como mostrado no exemplo abaixo, são do 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

Minhas perguntas, todas relacionadas, são:

  • O que é icon-theme.cache e qual é a sua função? Qual é o significado de cache nesses nomes de arquivos? A definição tag de cache é a seguinte: " um cache armazena dados temporários próximos para que eles possam ser recuperados muito mais rapidamente do que buscá-lo a partir do armazenamento de apoio real (disco, rede), ou recalcular algum resultado novamente ".
  • Por que os tamanhos de arquivo são tão diversos? Os gnome e hicolor são os maiores porque fornecem os ícones de fallback (como eu li em algum lugar)?
  • E as datas? Eu só tenho certeza sobre os ubuntu-mono porque eles vieram quando eu instalei o light-themes no 20130408. Então esses arquivos são modificados durante a troca de temas ou as datas são apenas um reflexo da data de instalação? / li>
por Community 10.04.2013 / 06:13

1 resposta

11

Para entender por que precisamos desses arquivos, você precisa primeiro entender o conceito de mapeamento de arquivos na memória .

Arquivos Mapeados na Memória: Os arquivos mapeados na memória são segmentos da memória virtual que são mapeados diretamente para um arquivo físico no disco, byte por byte. Ele tem vários benefícios em relação à E / S baseada em fluxo tradicional, como desempenho durante o acesso aleatório a arquivos grandes ou a capacidade de compartilhar a memória mapeada entre diferentes threads e processos.

O acesso a arquivos mapeados na memória é mais rápido do que o uso de operações diretas de leitura e gravação por dois motivos. Em primeiro lugar, uma chamada de sistema é ordens de magnitude mais lenta do que uma simples alteração na memória local de um programa. Em segundo lugar, na maioria dos sistemas operacionais, a região da memória mapeada é, na verdade, o cache de páginas do kernel (cache de arquivos), o que significa que nenhuma cópia precisa ser criada no espaço do usuário.

Agora, tire suas dúvidas uma por uma:

  1. O que é o icon-theme.cache e qual é a sua função? Qual é o significado do cache nesses nomes de arquivos?

    O arquivo icon-theme.cache contém informações em cache sobre os ícones na árvore de diretórios abaixo de um determinado diretório (que por acaso é o que contém index.theme para o tema específico).

    O GTK + pode usar os arquivos de cache para evitar uma grande quantidade de chamadas do sistema e sobrecarga de busca de disco quando o aplicativo é iniciado. Como o formato dos arquivos de cache permite que eles sejam mapeados na memória compartilhada entre vários aplicativos, o consumo geral de memória também é reduzido.

  2. Por que os tamanhos de arquivo são tão diversos?

    Os tamanhos dos arquivos dependem do número de ícones no tema dos ícones.

  3. E as datas?

    Se tomarmos caches de memória, algo estará presente no cache apenas se algum processo acessar um determinado local da memória e permanecer lá, a menos que o cache esteja cheio e esse elemento precise ser removido.

    Assim, a data de modificação provavelmente dependeria de quando algum processo a atualizou. Nesse caso, pode ser quando os ícones do tema foram usados.

    Existe, de fato, um comando para atualizar o cache de ícones chamado gtk-update-icon-cache .

Fontes e mais informações:

por green 10.04.2013 / 07:31