ext2
ext2 | |
---|---|
開発者 | Rémy Card |
正式名 | Second extended file system |
導入 | 1993年1月 (Linux) |
パーティション識別子 |
Apple_UNIX_SVR2(Apple Partition_Map) 0x83 (MBR) EBD0A0A2-B9E5-4433- 87C0-68B6B72699C7 (GPT) |
構造 | |
領域管理 | inode |
限度 | |
最大ファイル サイズ | 2TiB |
最大ファイル数 | 1018 |
最大ファイル名長 | 255バイト |
最大ボリューム サイズ | 16TiB |
ファイル名の文字 | NULと/以外使用可能 |
特徴 | |
タイムスタンプ | 変更, 属性変更, アクセス |
日付範囲 | 1901年12月14日 - 2038年1月18日 |
日付分解能 | 1s |
フォーク | 可能 |
パーミッション | POSIX |
透過的圧縮 | 任意 |
透過的暗号化 | なし |
重複排除 | 無し |
対応OS | Linux、BSD、Windows(IFS経由)、macOS |
ext2 (second extended filesystem) は、Linuxオペレーティングシステムで広く利用されていたファイルシステムである。初期のextファイルシステムを拡張したためext2と名付けられた。現在の多くのディストリビュータはext4を標準で採用している。
パーティションの上限は当初2GiBであったが、2.4系カーネルでは4TiBまで拡張されている。255バイトまでのファイル名や、可変長のディレクトリエントリに対応している。また、一部をスーパーユーザー (root) のために予約しており、通常の領域を使い切ってもメンテナンスを行うことができる。
ext2は、ジャーナリングを備えていないため、いったんクラッシュするとファイルシステムの復旧に時間がかかる。そのため、ext3やReiserFSなどのジャーナリングファイルシステムの普及に努めている。
歴史
[編集]初期のLinuxの開発は、MINIX上でクロス開発されていた。extがLinuxで採用されたのはその経緯があったためである。しかし、システム内部の構造は16ビットであり、64MiBまでのファイルサイズのサイズ制限があり、14文字までのファイル名長もそのままLinuxにも残された。
新しいファイルシステムの追加を安易にするためのAPIをLinuxカーネルに加えたのち、extは、VFS APIを用いた最初のファイルシステム (ext) が1992年4月に公表され、Linux 0.96cにそのファイルシステムが含まれることになった。改訂されたextはMINIXのファイルシステムの2つの制約を解決することに至ったが、inodeとタイムスタンプのサポートが不完全なままであった。
1993年1月、この問題の解決として2つの新しいファイルシステムであるxiafsとext2が開発された。Berkeley Fast File Systemから多くのアイディアを取り込んだ。
それ以降、ext2はVFS APIの新規の拡張を多く取り込みテスト段階になった。
最終的にext2は4TiBと255バイトまでのファイル名長、可変長ブロックサイズを得ることとなった。
構造
[編集]ext2の空間はフラグメントを減らし、ディスクシークを最小化するためにブロックで分けられており、ブロックグループを作り組織化する。
スーパーブロックはOSの起動にとって重要な情報を含む。