Apple File System

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
APFS
開発者 アップル
正式名 Apple File System
導入 2017年3月27日 (iOS 10.3)
パーティション識別子 7C3457EF-0000-11AA-AA11-00306543ECACGPT
構造
ディレクトリ B木(B-tree)
限度
最大ファイル サイズ 8 EiB
最大ファイル数 263
ファイル名の文字 UTF-8エンコードされたUnicode 9.0
特徴
タイムスタンプ 変更、属性変更、アクセス、作成
日付分解能 1ナノ秒
パーミッション UNIXパーミッション、NFS v4ACL
透過的圧縮 なし
透過的暗号化 あり
対応OS macOSiOStvOSwatchOSLinux
テンプレートを表示

Apple File System (APFS) は、Appleが開発したmacOSiOStvOSおよびwatchOS 向け[1]ファイルシステムである[2][3]。これらのOSで使われてきたHFS+ (Mac OS 拡張フォーマットとも呼ばれる) の根本的な問題を解決することを目的としている。APFSは フラッシュメモリおよびSSDに最適化されており、暗号化に重点を置いている[4][5]

歴史[編集]

2016年6月13日に開催されたWorldwide Developers Conference (WWDC) 2016にて、1998年から使用されていた HFS+ 以来約20年ぶりに、2017年の導入を目指した開発が発表された。[4][5]

iOSデバイスには2017年3月27日に iOS 10.3のリリースで導入され、macOSデバイスには2017年9月25日に macOS High Sierraのリリースで導入された[6][1]

HFS+はシングルスレッドにしか対応していないが、APFSはマルチスレッドに対応しており、ファイルのタイムスタンプはナノ秒単位で管理される[7]

ファイル共有プロトコルはAFPには対応していないため、SMBを使うことが推奨されている[7]

2014年よりドミニク・ジャンパオロ英語版が中心になり、Core Storage英語版とは異なる新しいファイルシステムとして開発が始まった[8]

設計[編集]

このファイルシステムはApple WatchからMac Proにまでスケールしている。inodeには64bitの数が採用され、よりセキュアなストレージになっている。APFS のコードでは、HFS+のコードと同様に TRIM コマンドが使われており、空き容量の管理とパフォーマンスの改善に貢献している。これにより、iOSとmacOSでは、読み書きの速度が向上する場合があり[1]、iOSデバイスではAPFSの利用可能データの計算方法の改善により、デバイスの空き容量が増加することがある。

クローン[編集]

クローンを利用することで、オペレーティングシステムは、同じボリュームにあるファイルのコピーを追加のスペースを消費せずに効率よく作成できる。クローンファイルに対してなされた変更は、差分データとして保存されるため、ドキュメントの改訂やコピーに必要なストレージ容量が削減できる[3]

スナップショット[編集]

APFSは、ポイントインタイムで読み取り専用のファイルシステムのインスタンスを作成することで、スナップショットをサポートする[3]

暗号化[編集]

APFSはネイティブにディスク全体の暗号化に対応している。ファイルの暗号化には以下のオプションが選択できる。

  • 暗号化なし
  • 1つの鍵による暗号化
  • 複数の鍵による暗号化 (各ファイルが独立した鍵で暗号化され、メタデータが別の鍵で暗号化される[3])

ファイル数の最大値の増加[編集]

APFS はinodeの数が64bitに増加したため、1つのボリュームに 個以上のファイルを作成することが可能になった[9]

データの完全性 (data integrity)[編集]

APFSはチェックサムを利用してメタデータの完全性を保証している。ただし、現時点ではユーザー領域のデータには未対応である[10]

クラッシュに対する保護[編集]

APFSはシステムのクラッシュによるメタデータの破損を回避できるように設計されている。既存のメタデータを置き換えるように上書きするのではなく、初めに完全に新しいレコードとして書き込み、新しいデータにポインタを変更した後に、古いデータを開放するようになっている。この仕組みにより、データの更新中にクラッシュした場合に、同じレコード中に古いデータと新しいデータが部分的に混在するような事態を避けることができるようになった。また、HFS+ ジャーナルファイルシステムではファイルをジャーナルに書き込んだ後にカタログファイルにもう一度書き込む必要があり、1回の変更のたびにストレージに2回書き込まなければならないという問題があったが、これも解消した[10]

空き容量の共有[編集]

APFS は複数の論理ドライブ (ボリュームと呼ばれる) を同じコンテナ内に作成し、コンテナ間で空き容量を共有できるようになった[11]。AppleのFusion Driveの機能と同様に、1つの物理パーティションからでも2つの異なるドライブ上の2つのパーティションからでも、APFSのコンテナを作ることができる。

制限[編集]

初期バージョンのAPFSでは、メタデータに対してはチェックサムを利用して完全性の検証ができるが、ユーザーデータに対してはできない[12]。また、バイトアドレス可能な不揮発性メモリ の利点を活用できない[13]。現時点では、圧縮の機能も利用できない。

サポート[編集]

macOS[編集]

macOS High Sierraでは、フラッシュストレージデバイス上のすべてのファイルシステムを、自動的にAPFSに変換する[14]FileVaultボリュームも変換されるが、Fusion Driveとハードディスクドライブは変換されない[14]。ユーザーはこの変換をオプトアウトすることはできず、High Sierraバージョン以降のAPFSは、前のバージョンのmacOS Sierraからは読み取れなくなる[14]

macOS Mojaveでは、インストール先ががフラッシュストレージデバイスの場合だけではなく、ハードディスクドライブや Fusion Drive の場合も、自動的に APFS に変換する。

制限付きの実験段階のバージョンの APFS が、古いバージョンの macOS (Sierra) でも、コマンドラインの diskutil ユーティリティで利用できる。HFS+が行う Unicode 正規化 を行わないという制限があるため[15]、英語以外の言語では問題が発生する[16]。SierraのベータバージョンのAPFSでフォーマットされたドライブは、新しいバージョンのmacOS High Sierraと互換性がなく、Time Machine、FileVault volumes、またはFusion Driveを使用できない[17]

iOS、tvOS、および watchOS[編集]

iOS 10.3tvOS 10.2、およびwatchOS 3.2以降では、互換性のあるデバイスでは、既存のHFSXファイルシステムがAPFSに変換される[6][1][18]

Linux[編集]

各種Linuxにおいては、Paragonの提供するAPFS for Linux by Paragon Softwareをインストールすることによって、APFSでフォーマットされたボリュームの読み書きが可能となる。[19]

関連項目[編集]

脚注[編集]

  1. ^ a b c d Warren, Tom (2017年3月27日). “Apple is upgrading millions of iOS devices to a new modern file system today”. The Verge. Vox Media. 2017年3月27日時点のオリジナルよりアーカイブ。2017年3月27日閲覧。
  2. ^ Roger Fingas (2016年6月13日). “'Apple File System' will scale from Apple Watch to Macs, replace HFS+”. Apple Insider. 2016年7月23日時点のオリジナルよりアーカイブ。2016年7月23日閲覧。
  3. ^ a b c d Hutchinson, Lee (2016年6月13日). “Digging into APFS, Apple's new file system”. Ars Technica UK. 2016年6月15日閲覧。
  4. ^ a b Weintraub, Seth (2016年6月13日). “Apple File System (APFS) announced for 2017, scales ‘from Apple Watch to Mac Pro’ and focuses on encryption”. 9to5Mac. 2017年3月28日時点のオリジナルよりアーカイブ。2017年3月27日閲覧。
  5. ^ a b Hutchinson, Lee (2016年6月13日). “New file system spotted in macOS Sierra [Updated]”. Ars Technica. Condé Nast. 2017年3月28日時点のオリジナルよりアーカイブ。2017年3月27日閲覧。
  6. ^ a b Clover, Juli (2017年3月27日). “Apple Releases iOS 10.3 With Find My AirPods, APFS, App Store Review Tweaks and More”. MacRumors. 2017年3月27日時点のオリジナルよりアーカイブ。2017年3月27日閲覧。
  7. ^ a b Introducing Apple File System - WWDC 2016 - Session 701 - iOS, macOS, tvOS, watchOS
  8. ^ APFS in Detail: Overview”. Adam Leventhal's blog. 2016年7月14日閲覧。
  9. ^ Apple Inc. “Apple File System Guide (Features)”. 2017年7月1日閲覧。
  10. ^ a b Adam Leventhal (2016年6月19日). “APFS in Detail: Data Integrity”. 2016年6月21日時点のオリジナルよりアーカイブ。2016年6月19日閲覧。
  11. ^ Archived copy”. 2016年10月23日時点のオリジナルよりアーカイブ。2017年6月10日閲覧。
  12. ^ A ZFS developer’s analysis of the good and bad in Apple’s new APFS file system Archived February 2, 2017, at the Wayback Machine.
  13. ^ Why Apple's APFS won't last 30 years Archived April 6, 2017, at the Wayback Machine.
  14. ^ a b c Prepare for APFS in macOS High Sierra”. Apple.com (2017年9月7日). 2017年9月19日閲覧。
  15. ^ APFS’s “Bag of Bytes” Filenames
  16. ^ APFS is currently unusable with most non-English languages – The Eclectic Light Company Archived June 8, 2017, at the Wayback Machine.
  17. ^ “How to Format a Drive With the APFS File System on macOS Sierra”. オリジナル2016年10月26日時点によるアーカイブ。. https://web.archive.org/web/20161026171416/http://www.howtogeek.com/272741/how-to-format-a-drive-with-the-apfs-file-system-on-macos-sierra/ 2016年10月26日閲覧。 
  18. ^ jakepetroules/Filesystem” (英語). GitHub. 2017年3月29日閲覧。
  19. ^ APFS for Linux by Paragon Software

外部リンク[編集]