2006 年 10 月 23 日 23 時 56 分

ファイルシステムの能力


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


今まで色々なリンク機能を見てきたが、
これらはシェルやカーネル(サブシステム)の能力であった。

ショートカットやフォルダリンクは、
シェルを使わない場合は利用できない。
ドライブのマッピング機能は、
プログラムからも利用することはできるが、
ドライブへの割り当てしかできず、制約もある。

このトピックの一番最初では、
UNIX ファイルシステムのリンク機能について書いた。

UNIX のリンクは、OS の機能ではなく、
ファイルシステムの機能である。
リンクに関する情報はファイルシステム自身が記憶し、
ディスク上に格納されている。

そのため、ファイルシステムを理解する環境で使えば、
その上で稼動している OS に依存せず利用できる。

では、Windows のファイルシステムには、
同様のリンク機能は無いのだろうか。

MS-DOS 時代から使われていた初期のファイルシステムは、
FAT と呼ばれており、ハードディスクだけでなく、
フロッピーディスクや外部媒体と、広く使われている。
残念ながら、FAT にはリンク系の機能は存在しない。

Windows XP 現在のファイルシステムは NTFS である。
NTFS は、Windows NT で使われているファイルシステムだ。
NTFS が最初に出現したのは、Windows NT 3.1 である。

NT 系の OS は、ワークステーション向けとして開発され、
高度な機能を搭載することが求められていた。
また、恐らく UNIX に対する戦略だろうと思われるが、
Windows NT は、POSIX 互換システムも持っていた。

OS がこれらを実現し、堅固な機能を提供するためには、
ファイルシステムのサポートが必要であった。
データを保管する役割を持つファイルシステムには、
高度なセキュリティ基盤が求められたのだ。

NTFS はファイルやディレクトリに、
詳細なアクセス規制機能を実装し、
POSIX 互換としての機能を持たせるため、
ハードリンクの機能を搭載した。

当初は、POSIX サブシステム用の機能として、
あまり広くは公開されていなかったのだが、
Windows 2000 以降では正式に API が公開され、
NTFS 自身が持つ機能として、
Windows 上からも利用することができる。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.