2012-12-27 33 views
11

S_IRUSRはsys/stat.hのposixのマクロ定数です。ユーザーの読み取り許可ビットの略です。S_IRUSRの意味はなんですか?

接頭辞S_は 'status of'の略である場合があります。 RUSRはユーザーの読取りである可能性があります。 「私」の意味は何ですか?

答えて

16

名前は歴史的です... UNIXの非常に早い時期です。 "S"はSTAT、INODEは "I"、POSIX自体はRationaleの外で使われています。 "R"はREAD、USERは "USR"です。

Inodeにはいくつかの記述があり、stat構造には "st_ino"も含まれています。標準では "ファイルのシリアル番号"と記述されています。多くのPOSIX実装では、inodeはファイルのすべてのメタデータを含むデータ構造です(多くはstat()呼び出しによって読み込まれるものです)。

(ウィキペディアより)これらを「i」ノードとして指定する理由は不明です。尋ねられたとき、Unixの先駆者Dennis Ritchieは答えました:

実際には分かりません。それは我々が を使い始めたばかりの用語でした。ディスクのフラット の配列としてファイルのアクセス情報を格納したシステムの構造は、これとは別にすべての階層ディレクトリ情報 を使用しているため、「インデックス」は私の推測です。したがって、i番号はこの配列のインデックスであり、 iノードは配列の選択された要素です。

(「I-」表記は第1版のマニュアルで使用された;そのハイフンを徐々に滴下した)

関連する問題