リモートファイル共有( RFS ) は、ファイル、デバイス、ファイルシステムディレクトリなどのリソースを、分散ファイルシステムと同様に、ネットワークに依存しない方法でネットワーク経由で共有するためのUnixオペレーティングシステムコンポーネントです。1980 年代にAT&Tのベル研究所で開発され、UNIX System V Release 3 (SVR3) で初めて提供されました。[1] RFS はこのオペレーティングシステムの STREAMS トランスポートプロバイダーインターフェイス機能に依存していました。UNIX System V Release 4 にも含まれていましたが、これにはTCP/IPに基づいており、コンピューティング業界でより広くサポートされているネットワークファイルシステム(NFS)も含まれていたため、RFS はほとんど使用されませんでした。AT&T UNIX System V Release 4 の一部のライセンシーは、SVR4 ディストリビューションに RFS サポートを含めず、Sun Microsystems はSolaris 2.4から RFS を削除しました。
特徴
RFS の基本的なアプリケーション アーキテクチャはクライアント サーバー モデルであり、参加ホストは同時にサーバーとクライアントになることができます。ネットワーク ファイル システム (NFS) と比較すると、RFS は異なる設計上の決定に基づいています。障害発生時の信頼性の高い操作に重点を置くのではなく、ネットワーク全体で UNIX ファイル システムのセマンティクスを維持することに重点を置いています。これにより、システムは RFS サーバーにあるハードウェア リソースへのリモート アクセスを提供できます。NFS (バージョン 4 より前) とは異なり、RFSサーバーはファイルが開かれた回数や、ファイルまたはデバイスに確立された ロックを追跡するために状態を維持します。
RFS は、特殊デバイスや名前付きパイプを含むすべてのファイル タイプに対して完全な UNIX/POSIX ファイル セマンティクスを提供します。共有ファイルがローカルであるかのように、透過的な方法でリモート ファイルのアクセス制御とレコードおよびファイル ロックをサポートします。これにより、ネットワーク リソースが関係する場合のバイナリ アプリケーションの互換性が許可されました。 [2]ネットワーク経由でデバイスをマウントできます。たとえば、/dev/cdrom は、ローカル リソースであるかのようにリモートからアクセスできます。特定のファイルまたはファイル システム ディレクトリへのアクセスはネットワーク経由で透過的であるため、ユーザーはファイルが実際にどこにあるかを知る必要がありません。
RFSは基盤となるネットワーク技術とは独立して実装されています。このため、RFSはトランスポートプロバイダインタフェースを使用するSystem V STREAMSメカニズムに依存しています。[3]
リモートシステムコールインターフェース
- アクセス
- システムACCT
- CHDIR ディレクトリの変更
- CHMOD ファイルモードを変更する
- CHOWN ファイルの所有者を変更する
- クロオト
- 閉じる ファイルを閉じる
- CREAT ファイルを作成する
- EXEC ファイルを実行する
- EXECE 環境を指定してファイルを実行する
- FCNTL
- FSTATファイル記述子を使用してファイルを統計する
- FSTATFS ファイル記述子を使用してファイルシステムを統計する
- IOCTL
- LINK link() 操作の前半
- LINK1 link() 操作の後半
- MKNOD ブロックまたは文字特殊ファイルを作成する
- 開く ファイルを開く
- READ ファイルから読み取る
- SEEK ファイルのシーク
- STAT パス名を使用してファイルの統計情報を取得する
- STATFS パス名を使用してファイルシステムの統計情報を取得する
- リンクを解除
- ユータイム
- UTSSYS マウントされたファイルに関する情報を返す
- 書く
- GETDENTS ファイルシステム内のディレクトリエントリを読み取る
- ディレクトリ
- RMDIR の
- SRMOUNT リモートマウントのサーバー側
- SRUMOUNT リモートアンマウントのサーバー側
- COREDUMP コアダンプ要求
- WRITEI 書き込みシステムコールの内部形式
- READI 読み取りシステムコールの内部形式
- RSIGNAL リモート信号を送信
- SYNCTIME マシン間の時間を同期する
- IPUT リモートiノードを解放する
- IUPDATE リモートのinodeを更新する
- UPDATE 変更されたバッファをディスクに書き戻します。
参照
参考文献
- ^ Rifkin, Andrew P.; Forbes, Michael P.; Hamilton, Richard L.; Sabrio, Michael; Shah, Suryakanta; Yueh, Kang (1987). 「RFS アーキテクチャの概要」。オーストラリア UNIX システム ユーザー グループ ニュースレター。第 7 巻。
- ^ AP Rifkin、MP Forbes、RL Hamilton、Michail Sabrio、S. Shah、K. Yueh、「RFS アーキテクチャの概要」、USENIX カンファレンス プロシーディングス (1986 年 6 月)、アトランタ、ジョージア州
- ^ Dennis M. Ritchie、「ストリーム入出力システム」、ベル研究所技術ジャーナル 63(8) (1984年10月)
