私は最初のOSクラスを取っている途中ですので、ここで大きな誤解はありません。getpidがシステムコールとして実装されているのはなぜですか?
Linuxでgetpid()がシステムコールとして実装されているのはなぜかと思います。私が理解しているように、特定の機能はOSが保護したい情報にアクセスしたり変更したりするため、システムコールとして行われるため、カーネルに制御を移すためにシステムコールとして実装されます。
私が理解するように、getpid()は呼び出し元プロセスのプロセスIDを返すだけです。この情報の許可が与えられない場合はありますか?単にgetpid()を普通のユーザ関数にするのは安全でしょうか?
ありがとうございました。
これは保護のためではなく、プロセス内部構造がカーネルに実装されているだけで、ユーザーモードライブラリではないからです。 – Barmar