os/161に精通していて、いくつかの質問に答えてくれる人はいますか?
子pid、親pidはどのように機能しますか。
現在のスレッドに別のスレッド ベースを作成している場合thread_fork()、新しいスレッドには自分自身の一意の ID と別のファイル記述子テーブルが必要です。sys_forkから子を作成する間curthread、子は pid 以外は親と同じです。しかし、私は pid と親 pid がどのように機能するかについて混乱しています。
これがプロセステーブルの私の解釈です。システム全体で 1 つのプロセス テーブルしかありません。今のところparent_pid、my_pidすべてのスレッドについてあります。
-親スレッドは複数の子を持つことができます (呼び出し続けることによりsys_fork)。
- 子は親を 1 人しか持つことができません。
- が呼び出されるたびsys_forkに、子が作成され、parent_pidこの子の が、この子を作成したスレッドの pid に設定されます。
-pid 1 は、ブート/メニュー スレッド用です。
プロセステーブルがどのように機能するかを理解する上で、私は正しい軌道に乗っていますか?
最後の質問: For sys_waitpid(): 親だけがwaitpid?を使用できます。そして、彼らは子供たちを待つことしかできませんか?子waitpidは親で使用できますか (または、これによりデッドロックが発生しますか)?
Google でいろいろ調べてみたのですが、矛盾が多すぎて、今でも疑問に対する明確な答えが見つかりません。