APFSは、macOS、iOS、watchOS、およびtvOSで使用されます。
APFS(Apple File System)は、ストレージシステム上のデータを整理して構造化するためのシステムです。 MacFSで最初にリリースされたAPFS Sierraは30歳のHFS +を置き換えます。
HFS +とHFS(Hierarchical File Systemのわずかに古いバージョン)は、もともと、ハードディスクを回転させることが第三者によって提供される高価なオプションであったMac用の主な記憶媒体であったフロッピーディスクの時代に作られたものです。
これまでAppleはHFS +を置き換えたばかりでしたが、 iOS 、 tvOS 、 watchOSに既に含まれているAPFSは、macOS High Sierra以降のデフォルトのファイルシステムになりました。
APFSは今日と明日のストレージ技術に最適化されています
HFS +は、800キロバイトのフロッピーが王様だったときに導入されました 。 現在のMacはフロッピーを使用していないかもしれませんが、スピンしているハードディスクは古風なように見え始めています。 アップル社では、すべての製品でフラッシュベースのストレージを重視しているため、回転メディアで動作するように最適化されたファイルシステムと、ディスクが回転するのを待つ固有の待ち時間だけでは意味がありません。
APFSは、SSDや他のフラッシュベースのストレージシステムのために設計されています。 APFSはソリッドステートストレージの仕組みに合わせて最適化されていますが、最新のハードドライブでも機能します。
将来の校正
APFSは64ビットのiノード番号をサポートしています。 inodeは、ファイルシステムオブジェクトを識別する固有の識別子です。 ファイルシステムオブジェクトは何でもかまいません。 ファイル、フォルダ。 64ビットのiノードでは、APFSはおよそ9つの5倍のファイルシステムオブジェクトを保持して、21億の制限を超えることができました。
9つのquintillionは非常に大きな数字のように思えるかもしれません。ストレージデバイスが実際にその多くのオブジェクトを保持するのに十分なスペースを持つことを正しく尋ねるかもしれません。 その答えにはストレージの傾向を覗く必要があります。 これを考えてみましょう.Appleはすでに、企業レベルのストレージ技術を、Macや階層型ストレージを使用する能力などのコンシューマレベルの製品に移行し始めました。 これは、高性能SSDと低速だがはるかに大きなハードドライブ間でデータを移動するFusionドライブで初めて見られました 。 頻繁にアクセスされるデータは高速SSDに保存され、使用頻度の低いファイルはハードドライブに保存されていました。
MacOSでは 、 iCloudベースのストレージをミックスに追加することで、Appleはこのコンセプトを拡張しました。 すでに視聴した映画やテレビ番組をiCloudに保存してローカルストレージを解放できるようにします。 この最後の例では、この階層型ストレージシステムで使用されているすべてのディスクにまたがって統一されたinodeナンバリングシステムが必要ではありませんが、アップルの一般的な方向性を示しています。 ユーザーのニーズに最適な複数のストレージテクノロジを統合し、OSに単一のファイル領域として認識させることができます。
APFSの機能
APFSには、古いファイルシステムとは別の特徴があります。
- クローン - クローンは 、追加スペースを使わずにほぼ即時のファイルコピーを可能にします。 ある場所から別の場所へファイルを少しずつコピーする代わりに、クローンは元のファイルを参照して、2つのファイル間で同一のデータブロックを共有します。 1つのファイルを変更すると、変更されたデータのブロックだけが新しいクローンに書き込まれますが、元のクローンとクローンの両方が変更されていないデータブロックを共有し続けます。 これにより、ファイルのコピーや保存が特に高速になるばかりでなく、ストレージスペースの必要性も軽減されます。
- スナップショット - APFSは、ある時点を表すボリュームスナップショットを作成できます。 スナップショットを使用すると、効率的なバックアップを容易にするだけでなく、特定の時点での状況に戻ることができます。 スナップショットは、元のボリュームとそのデータへの読み取り専用ポインタです。 新しいスナップショットは、元のボリュームへのポインタを格納するのに必要な領域以外の実際の領域を占有しません。 時間が経過して元のボリュームに変更が加えられると、発生した変更だけでスナップショットが更新されます。
- 暗号化 - APFSは、AES-XTSまたはAES-CBCモードを使用して強力なフルディスク暗号化をサポートします。 ファイルとメタデータの両方が暗号化されます。 サポートされている暗号化方式には、
- クリア(暗号化なし)。
- シングルキー。
- データとメタデータの両方にファイル単位のキーを持つマルチキー。
- スペース共有 - スペース共有は、パーティションサイズを事前定義することを終わらせる。 代わりに、 すべてのボリュームがドライブ上の基本となる空き領域を共有します。 スペースを共有することで、ドライブ上の複数のボリュームを必要に応じて動的に拡張および縮小することができます。
- Copy-On-Write - このデータ保護スキームは、変更が行われない限り、データ構造を共有することを可能にします。 変更が要求されると(書き込み)、新しい一意のコピーが作成され、オリジナルがそのまま残されます。 書き込みが完了した後でのみ、新しいデータを指すようにファイル情報が更新されます。
- Atomic Safe-Save - これはCopy-On-Writeの考え方に似ていますが、ファイルやディレクトリの名前の変更や移動などのファイル操作に適用されます。 例としてrenameを使用すると、名前を変更しようとしているファイルが新しいデータ(ファイル名)でコピーされます。 コピー処理が完了するまで、新しいデータを指すようにファイルシステムが更新されません。 これにより、何らかの理由で停電や何らかのタイプのCPUの不具合が発生した場合、書き込みが完了しない場合でも、元のファイルは元のままになります。
- スパースファイル - このより効率的なファイルスペースの割り当て方法により、ファイルスペースは実際に必要なときだけ大きくなります。 非スパースファイルシステムでは、データを保存する準備ができていなくても、事前にファイルスペースを予約する必要があります。