2010-12-21 5 views

答えて

1

はもちろんのOSに依存します - しかし、一般的には、当該プロセスにその信号を提供するための十分な権限を持っていると仮定し - そして、OSは、procのためのプロセスの状態を変更します。カーネル内に関係する。これは一般的にプロセスの「ライフサイクル」状態の変化をもたらします。つまり、終了、終了、停止、中断などです。

実際のカーネルへの呼び出しはOSによって異なります。システムコール、または適切なデバイス経由での 'ioctl'呼び出しなどがあります。

CPUの処理が終了すると、procスケジューラはプロセスの状態を考慮して次の処理を決定します。ここに意図的に要約すると、かなり複雑です。

私はいくつかのサンプルソースを見てみることをお勧めします - LinuxディストリビューションやOpenSolarisを見てください(かなり複雑ですが)。

例 - 警告これは非常に複雑です。 OpenSolaris signal handling in the kernel