icon-theme.cacheとは何ですか?


10

Lubuntu 12.10で次のコマンドを実行すると

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

以下を取得します(最終変更日とサイズを追加した後):

/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

そして、以下の例に示すように、これらのファイルはすべてタイプTrueType font dataです。

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

私の質問は、すべて密接に関連しており、次のとおりです。

  • 何がicon-theme.cache、その機能は何ですか?cacheこれらのファイル名の意味は何ですか?キャッシュタグ「:定義はこれです、それは本当のバッキングストア(ディスク、ネットワーク)からそれをフェッチするか、再びすべての上にいくつかの結果を再計算するよりもはるかに迅速に検索することができることを近くので、キャッシュ一時的なデータを記憶します」。
  • ファイルサイズがなぜそれほど多様なのですか?あるgnomehicolor彼らは(私はどこかを読んで)フォールバックのアイコンを提供するため、ものが最大の?
  • 日付はどうですか?20130408 ubuntu-monoにインストールlight-themesしたときにこれらのファイルが一緒に来たので、これらのファイルについてのみ確信があります。テーマの切り替え中にこれらのファイルが変更されるのですか、それとも日付はインストールの日付を反映しているだけですか?

回答:


12

これらのファイルが必要な理由を理解するには、まずファイルをメモリマッピングする概念を理解する必要があります

メモリマップファイル: メモリマップファイルは、仮想メモリのセグメントであり、ディスク上の物理ファイルにバイト単位で直接マップされます。これには、大きなファイルへのランダムアクセス時のパフォーマンスや、異なるスレッドとプロセス間でマップされたメモリを共有する機能など、従来のストリームベースのI / Oよりも多くの利点があります。

メモリマップファイルへのアクセスは、2つの理由により、直接読み取りおよび書き込み操作を使用するよりも高速です。まず、システムコールは、プログラムのローカルメモリへの単純な変更よりも桁違いに遅いです。次に、ほとんどのオペレーティングシステムでは、実際にマップされるメモリ領域はカーネルのページキャッシュ(ファイルキャッシュ)です。つまり、ユーザースペースにコピーを作成する必要はありません。

今、あなたの質問を一つずつ取ります:

  1. icon-theme.cacheとは何ですか?その機能は何ですか?これらのファイル名のキャッシュの意味は何ですか?

    icon-theme.cacheファイルには、特定のディレクトリ(たまたまindex.theme、特定のテーマに含まれているもの)の下のディレクトリツリーのアイコンに関するキャッシュされた情報が含まれています。

    GTK +はキャッシュファイルを使用して、アプリケーションの起動時に多くのシステムコールとディスクシークのオーバーヘッドを回避できます。キャッシュファイルの形式により、複数のアプリケーション間で共有されるメモリマップを可能にするため、全体的なメモリ消費も削減されます。

  2. ファイルサイズがなぜそれほど多様なのですか?

    ファイルサイズは、アイコンテーマのアイコンの数によって異なります。

  3. 日付はどうですか?

    メモリキャッシュを取得する場合、一部のプロセスが特定のメモリ位置にアクセスし、キャッシュがいっぱいでその要素を削除する必要がない限り、キャッシュに何かが存在します。

    したがって、変更日は、一部のプロセスがいつ更新したかによって異なります。この場合は、テーマのアイコンが使用された可能性があります。

    実際、という名前のアイコンキャッシュを更新するコマンドがありますgtk-update-icon-cache

出典および詳細情報:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.