皆さんこんばんは!
私はminix 3.2.1で宿題をしています。ここで、 rmdirとまったく同じように機能するだけでなく、削除されたディレクトリの名前も出力する新しいシステム コール my_rmdirを作成するよう求められます。また、システムのソース コードを変更することになっているので、rmdirコマンドを実行すると、システムはdo_rmdir関数を呼び出す代わりに、独自のdo_myrmdir関数を呼び出す必要があります。
過去に、 mkdirコマンドで同じ宿題をしたことがありますが、 mkdirが適切に宣言された minix スタイルであり、変更を加えた ため、すべてが単純でした。
/usr/src/servers/vfs/proto.h
/usr/src/servers/vfs/open.c
/usr/src/servers/vfs/request.c
/usr/src/servers/vfs/table.c
/usr/include/minix/callnr.h
そしてすべてがうまくいきました。しかし、今では、NETBSD コードの注入のせいで、少し道に迷っていると思います。
また、最初に知識がなく、次に行う必要がある変更が非常に小さいため、新しいシステムコールをゼロから作成することもポイントではありません。
一番の問題は、元のdo_rmdirが宣言されている場所と、それがrmdirコマンドでどのように接続されているかがわからないことです。
/usr/src/servers/vfs/table.cファイルの 58 行目
do_unlink, /* 40 = rmdir */
もっと混乱させる
助けやアイデアはありますか?
さらに詳しい情報が必要な場合は、お問い合わせください。
私はフォーラムに不慣れです。適切に質問しようとしました。ご理解いただきありがとうございます。