私はRobert Loveの「Linux Systemsプログラミング」を読んで、ファイル記述子の概念を理解しようとしています。
彼が言及した
ファイル記述子は0から始まり、この最大値より小さい1まで上がります。デフォルトでは、最大値は1,024です。
たとえば、ファイル記述子500と501をそれぞれ使用して2つのファイルを開きます。
これで、ファイル記述子が500のファイルが閉じられると、次に割り当てられるfdが502になるという意味ですか? 500個再利用可能ですか?もしそうなら、カーネルは閉じたすべてのファイル記述子をどのように保持しますか?
ベストアンサー1
Linux は、Unix ファミリシステムと同様に、カーネルが管理するファイルアロケータテーブルを使用します。 open はディスクリプタを生成し、最下位の閉じたファイルディスクリプタを再利用するか、新しいエントリを作成します。 close テーブルで閉じる項目を設定します。