たとえば、minix のプログラムで write(...) を呼び出す場合。新しいプロセスが作成されますか (fork() のように)、または現在のプロセス内で行われますか? 多くのシステムコールを行うことは効率的ですか?
1 に答える
1
プロセスの作成は厳密にはfork
さん /exec
さんの仕事です。write のようなシステム コールは、どのようなプロセスを生成する可能性がありますか?
現在、Minix はマイクロカーネルです。つまり、ファイル システムなどはユーザーランド プロセスで実行されます。したがって、ファイルへの書き込みは別の場所で新しいプロセスを生成する可能性がありますが、それはファイル システム ドライバーに依存します。私はこれまで MinixFS ドライバーに注意を払っていなかったので、それが起こるかどうかはわかりませんが、プロセスの作成には依然として比較的コストがかかるため、その可能性は高くありません。
多くのシステムコールを行うことはほとんど効率的ではありません (コンテキストスイッチが関係しています)。ただし、「パフォーマンス」、「効率的」、および「多く」はすべて非常に相対的なものであるため、おそらくまだ知らないことをお伝えすることはできません.
于 2015-02-08T17:25:58.770 に答える