OS コースの Linux カーネル コードを調べ始めました。その中で、私は sys ファイル システム (sysfs) に興味があります。sysfs がいつ、どのように作成されるのか知りたいですか? このファイル システムを生成する Linux カーネル コードのファイルはどれですか?
システムに Linux カーネルをセットアップし、コードによるデバッグを開始しました。
sysfs ファイル システムを理解するために、このドキュメントを参照しました: [sysfs] : https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt
ただし、このドキュメントでは、ディレクトリ構造、ディレクトリの作成、読み取り/書き込み属性についてのみ説明します。ブート中にカーネルがこれらのディレクトリを作成する方法にもっと興味があります。sysfs のディレクトリ作成は以下の方法で行うことが分かりました。
int sysfs_create_file(struct kobject *kobj, struct attribute *attr);
この関数は kboject 構造、属性を受け入れ、これらを使用して sysfs にディレクトリを作成します。
ブート時にカーネルがメモリを検出し、sys/devices/system/memory の下にディレクトリを作成することがわかりました。宿題の一環として、このディレクトリ構造を変更する予定です。では、この特定のメモリ ディレクトリの作成を担当するファイルとメソッドを教えてください。