Apple File System

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Apple File System
開発元 アップル
対応OS macOS (Sierra以降), iOS(10.3 PublicBeta以降), tvOS, watchOS
種別 File System
ライセンス 2016年時点ではプロプライエタリ 、リリース後にオープンソース化を予定
公式サイト Apple File System Guide
テンプレートを表示

Apple File System (APFS) は、Appleが開発しているmacOSiOStvOSおよびwatchOS 向け[1]ファイルシステムである[2][3]。これらのOSで使われてきたHFS Plus (Mac OS Extended とも呼ばれる) の根本的な問題を解決することを目的としている。Apple File Systemは フラッシュメモリおよび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+はシングルスレッドにしか対応していないが、Apple File Systemはマルチスレッドに対応しており、ファイルのタイムスタンプはナノ秒単位で管理される[7]

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

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

設計[編集]

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

クローン[編集]

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

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

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

暗号化[編集]

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

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

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

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

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

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

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

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

空き容量の共有[編集]

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

制限[編集]

初期バージョンのApple File Systemでは、メタデータに対してはチェックサムを利用して完全性の検証ができるが、ユーザーデータに対してはできない[12]。また、byte-addressable non-volatile random-access memory の利点を活用できない[13]。現時点では、圧縮の機能も利用できない。

サポート[編集]

macOS[編集]

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

制限付きの実験段階のバージョンの 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]

関連項目[編集]

脚注[編集]

  1. ^ a b c d Warren, Tom (2017年3月27日). “Apple is upgrading millions of iOS devices to a new modern file system today”. 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”. 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”. 2017年3月28日時点のオリジナルよりアーカイブ。2017年3月27日閲覧。
  5. ^ a b Hutchinson, Lee (2016年6月13日). “New file system spotted in macOS Sierra [Updated]”. 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”. 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” (en). 2017年3月29日閲覧。

外部リンク[編集]