3

ファイル記述子は各プロセスに固有であると聞いたことがあります。しかし、それらはシステム全体に固有のものですか? それらはカーネル内でどのように処理されますか? ファイル記述子がシステム全体で一意でない場合readwriteclose、 などのシステム コールは、受信したファイル記述子がどのプロセスに属しているかをどのように認識しますか?

4

3 に答える 3

2

しかし、それらはシステム全体に固有のものですか?

いいえ、それらはプロセスに固有のものです。

一般的なカーネルは、システム コールが行われたときに、プロセスを表すデータ構造にアクセスできます。ファイル記述子は、そのデータ構造内の配列へのインデックスと同じくらい単純にすることができます。

于 2013-06-28T17:23:10.843 に答える
2

オペレーティング システムは、特定のファイルを識別するために、プロセス IDとファイル記述子の組み合わせのマッピングを維持する必要があります。特定のプロセスのタスク制御ブロックでファイル記述子のリストを維持することによって、または実装者が使用することを決定した他の手段によって、そうすることができます。

于 2013-06-28T17:05:38.783 に答える