検索
連載

第7回 HFS、HFS Plusの基本的概念【前編】Undocumented Mac OS X(4/4 ページ)

Mac OS XのデフォルトファイルシステムHFS Plus。今回はその基本的概念をはじめ、HFSおよびHFS Plus共通の機能を解説する。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

エクステントオーバーフローファイル

 カタログノードには、8つのエクステントが記録される。8つ以下のエクステントで表現されている限りは、ディスクの連続領域に対する直接参照となるため高速にアクセスできる。しかし、ディスクの断片化が進んだ、またあるいはファイルが非常に大きくなってくると連続領域が確保できなくなり、8つのエクステントでは足りなくなることもある。そんなときに使われるのがエクステントオーバーフローファイルだ。 エクステントオーバーフローファイルは、カタログファイルと同じB-Tree構造を持つ。そのキーとなる構造(HFSPlusExtentKey)はファイルのCNIDに加え、どのフォークなのか、そしてファイルの先頭から通算で何アロケーションブロック目からを格納しているか(startBlock)を格納している(リスト4)

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト4 HFS Plusにおけるエクステントキーの構造。自身のCNID、リソースタイプ、そして通算のブロック数で構成されている

 このキーでエクステントオーバーフローファイルを検索すると、また8つのエクステントを取得できる。16のエクステント以上になった場合は、またエクステントオーバーフローファイルを検索する。このとき、startBlockが加算されているため、別のキーになることに注意されたい。

 エクステントによる効率の良いディスク領域の管理と、カタログファイルのB-Treeを用いた強力な検索能力を伴うファイル情報の管理、この2つがHFS Plusの要だ。

次回は

 今回紹介したもの以外にもHFS Plusにはいろいろと興味深い機能や仕様がある。次回は、そうしたものをトピックごとに説明しよう。

関連キーワード

Apple | Mac | Mac OS X


本記事は、オープンソースマガジン2006年2月号「Undocumented Mac OS X」を再構成したものです。


前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る