次のページ 前のページ 目次へ

1. はじめに

Filesystems HOWTO ではファイルシステムの説明と,いろいろな OS からこれら のファイルシステムにアクセスする方法を説明します.この文書には筆者 が知っていることを全て詰め込んでありますが,もしかすると間違いがあるか もしれません.間違いや 古い部分があれば筆者にお知らせください.できるかぎり最新の内容を保ち, 間違いもないようにしようと思っています.情報提供も歓迎なので, ファイルシステムについて書きたいことをお持ちであれば,ぜひ筆者にメール をください.

この HOWTO を読む前には Stein Gjoen の Disk-HOWTO ( http://sunsite.unc.edu/LDP/HOWTO/ から入手 できます)を読んでおくことをお勧めします.

この HOWTO は http://penguin.cz/~mhi/fs/ または http://metalab.unc.edu/filesystems/howto/ から入手できます.

もしあなたが日本人なら, 藤原輝嘉 が訳した日本語訳を見るといいでしょう.これは http://www.linux.or.jp/JF/JFdocs/Filesystems-HOWTO.html にあります.SGML のソースは ftp://ftp.linet.gr.jp/pub/JF/sgml/Filesystems-HOWTO.sgml.gz から入手できます.

1.1 Copyright

The Filesystems HOWTO, Copyright (c) 1999 Martin Hinner < mhi@penguin.cz>.

This HOWTO is free document; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This HOWTO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this document or GNU CC; if not, write to the: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

1.2 Filesystems メーリングリスト

Filesystems メーリングリストに参加するのはいい考えだと思います. このメーリングリストの目的は一般ユーザと開発者の両方によい情報を提供 することです.したがって,ファイルシステムに何らかの関係がある人は参加しま しょう :-) メーリングリストに参加するには本文(サブジェクトで はありません)に(引用記号なしで) "subscribe fs-l" とだけ書いた メールを < majordomo@penguin.cz> 宛に送ってください.

Linux カーネルファイルシステムメーリングリスト

Linux カーネルファイルシステムメーリングリスト linux-fsdevel@vger.rutgers.edu に参加するには, listserv@vger.rutgers.edu 宛にメールを出してください. メール本文には "subscribe linux-fsdev" と書きます.

FreeBSD ファイルシステムメーリングリスト

FreeBSD のファイルシステムの技術的メーリングリスト freebsd-fs@FreeBSD.org に参加するには, majordomo@FreeBSD.org 宛にメールを出してください. メール本文には "subscribe freebsd-fs" と書きます.

1.3 metalab.unc.edu のファイルシステムコレクション

ファイルシステムコレクションはファイルシステムやファイルシステム関連の プログラムやドライバに関する役立つ情報を提供している FTP/WWW サイトで す.このコレクションは http://metalab.unc.edu/filesystems/ にあります.FTP 専用のサイトも ftp://metalab.unc.edu/pub/docs/filesystems/ にあります.

1.4 クレジット

元々の "Filesystems access HOWTO" は Georgatos Photis が書きました(彼 のホームページ http://students.ceid.upatras.gr/~gef/ も見 てください).この HOWTO には彼のホームページに書かれている情報がたくさ ん載っています.Georgatos に感謝します.

藤原輝嘉 <fujiwara@linux.or.jp> はこの HOWTO を日本語に訳してく れました.

この HOWTO に協力してくれた方々と筆者を(直接的,間接的に)助けてくれた 方々をアルファベット順に紹介します:

これらの方々に深く感謝します.洩れがあればお知らせください.

1.5 ファイルシステムのアクセス方法の一覧

これはファイルシステムのアクセス方法の「一覧」で,OS をアルファベット順に 並べています.このリストは多少ごちゃごちゃして見えるかもしれません. これは Linux の sgmltools では表を書けないからです.

見ての通り,まだこの「一覧」は完全ではありません. 近いうちに完成させようと思っています.

FreeBSD: BSD FFS | ext2 | HPFS | NTFS

Linux: AFFS| BeFS| BFS| ext2 FS| BSD FFS| HPFS| Qnx4 FS| Xia

NetBSD: BSD FFS | FAT12/16 | ISO9660

NetWare 2.x: NWFS-286

NetWare 3.x, 4.x: NWFS-386 | ISO9660

NetWare 5.x: NWFS-386 | NSS | ISO9660

OpenBSD: BSD FFS | FAT12/16

OS/2: ext2 FS | FAT12/16/32 | HPFS | HPFS | ISO 9660 | JFS | VFAT

QNX 4: FAT12/16 | ISO 9660 | Qnx4 FS

SCO OpenServer: AFS| DTFS| EAFS| HTFS| ISO 9660 | S51K

SCO UnixWare: BFS| DTFS| ISO 9660 | System V| VxFS

1.6 連続的な割り当てを行うファイルシステム(contiguous allocation)の紹介

領域を連続的に割り当てるファイルシステムがいくつかあります. BFS, ISO9660 とこれを拡張したファイルシステム

1.7 リンクリストを使った割り当てを行うファイルシステムの紹介

1.8 FAT ベースのファイルシステムの紹介

(執筆予定)

FAT ベースのファイルシステムがいくつかあります: FAT12/16/32, VFATNetWare ファイルシステム

1.9 i-ノードを使うファイルシステムの紹介

(執筆予定)

1.10 extent ファイルシステムの紹介

(執筆予定)

いくつかの 'extent' ファイルシステムがあります: EFS および VxFS

1.11 B+ツリーを使ったファイルシステムの紹介

(執筆予定)

B+ツリーを使ったファイルシステムもいくつかあります: HFS, NSS, Reiser FS, Spiralog ファイルシステム

1.12 ロギングファイルシステム/ジャーナルファイルシステムの紹介

普通のファイルシステムの構成情報(メタデータと呼ばれる)の更新は 同期書き込みを使って行われます.メタデータのそれぞれの更新においては, たくさんの書き込みが別々に必要となることがあるので,もし書き込みシーケンスの途 中でシステムがクラッシュすると,メタデータが矛盾した状態になるかもしれ ません.

次回のシステム起動時には,ファイルシステム検査ユーティリティ(fsck と呼 ばれます)はメタデータの構成を全て調べ,ファイルシステムの検査と修復を 行います. 大きなファイルシステムだとこの操作にはものすごく時間がかかります. また,ディスクが構成を修復するための情報が十分でないこともありま す.するとファイルの位置が変わったり消えたりしてしまいます.

ジャーナルファイルシステムでは,ログまたはジャーナルと呼ばれる領域 を別に用意します.メタデータの変更が実際に行われる前に,先にこの別領域 に変更が記録されます.メタデータの変更はその後に行われます.もし操作の 途中にシステムがクラッシュしても,ログにはログの記録を「再生」するのに 十分な情報が残っており,操作を完全に行うことができます.

このアプローチを取ればファイルシステム全体をスキャンする必要はなくなる ので,大きなファイルシステムでもファイルシステムの検査がごく短時間で済 むようになります―― 一般的には数ギガバイトのファイルシステムでも数秒 程度です.さらに,途中で止まっている操作についての情報が全て記録さ れるため,ファイルが消えることや lost+found ディレクトリに移動すること もありません.ジャーナルファイルシステムの短所は,他のファイルシス テムよりも動作が遅いことです.

ジャーナルファイルシステムは何種類かあります: BeFS, HTFS, JFS, NSS, Spiralog ファイルシステム, VxFS, XFS

1.13 ファイルシステムのその他の機能

quota

snapshot

ACL


次のページ 前のページ 目次へ