Record-oriented filesystem
レコード・オリエンテッド・ファイルシステム (record-oriented filesystem) において、ファイルはレコードの集まりをストアしたものである。通常、レコード・オリエンテッド・ファイルシステムはいくつかの異なったレコード・フォーマットをサポートする。固定長データ、可変長データ、異なるレコード長、異なった物理編成など。また、順次(シーケンシャル)、索引付き(キー・インデクスド)など、異なるアクセスメソッドをサポートする。
またファイルは MVS の区分データセット (PDS, PO) のように、複数のメンバーに分けて扱われることもある。この編成は、Hierarchical File Systemが一般的になる前の、メインフレームシステムが持っていた伝統的な方式で、索引のような小さなディレクトリに依っている。
起源
[編集]レコード・オリエンテッド・ファイルシステムは特に、MVS、VM/CMS、DOS/VSE、OS/400、VMS などのような、メインフレームや中型コンピュータのオペレーティングシステムと関係が深い。このようなシステムでは、オペレーティングシステムはファイルをあるフォーマットから異なるフォーマットにコンバートするユーティリティを提供する場合が多い。
Unix/POSIX などとは対照をなしていて、これらの PC/デスクトップ オペレーティングシステムのファイルシステムでは、ファイルを構造化されていない連続したバイトの羅列として取り扱う。レコードの区切りは、各々のアプリケーションソフトウェアの次元で把握される。POSIX コンパチブルを目指した新しいレコード・オリエンテッド・ファイルシステムは、POSIX スタイルのストリーム・オリエンテッド・ファイルを同様にサポートする。
レコード・オリエンテッド・ファイルシステムは一般に、ビジネスデータ処理や unit record equipment における punched cards の遺産を反映している。ファイルは、固定長のレコードを構成するパンチカードとしてストアされる。そのカードの長さは一般に80カラム、ときにはそれ以上である。
これはまた、ソースコードの保存の仕方も反映している。Unix の下では、ソースコードは一般に、改行によって分けられた順次行として保存される。別の言葉でいえば、デリミッター付きの可変長レコードの集まりであるということができる。もっとも、それは単にコンパイラやエディターや他のいくつものツールによる慣例であるに過ぎないけれども。対照的に、多くのメインフレームシステムでは、ソースコードはスペースを詰めた80カラムの固定長レコードの集まりとしてストアされる。これは、もともとパンチカードを順に読み取ってソースコードをコンピュータに投入したことの名残である。
ストリーム・オリエンテッド・ファイルシステムとの比較
[編集]今日では、UNIX のアプローチがよりポピュラーである。ストリーム・オリエンテッド・ファイルの擁護者は、そのシンプルさと、フレキシビリティを論ずる。特に、ファイルを扱うツールが、もはや異なる多くのファイルフォーマットに合わせる必要がないことを挙げる。シングルファイルフォーマットによる、UNIX 上で可能なたくさんのコマンドラインユーティリティを論ずる人もいる。彼らはまた、キーシーケンスアクセスメソッドなどのレコードオリエンテッドファイルの集まりは、オペレーティングシステムを複雑化させることなしに、アプリケーションやライブラリで取り扱えることを論ずる。
レコード・オリエンテッド・ファイルの擁護者は、いくつものファイルフォーマットやキーシーケンスドファイルをオペレーティングシステムでサポートすることが、いくつものアプリケーションが互換性のないファイルフォーマットを使えるようにすることはありそうにないことを論ずる。