信号はいつ与えられますか?

信号はいつ与えられますか?

シグナル送信者は、シグナルを処理するためにレシーバープロセスのコンテキスト切り替えをトリガしますか?

または、プロセスが実行される予定の場合、受信者はそれを処理しますか?

答え1

この信号は、受信プロセスが次回実行されるようにスケジュールされたときに受信プロセスによって処理されます。いつ進むかを決定するのは、カーネルのプロセススケジューラに依存します。シグナル転送はシステムコールであり、転送プロセスからカーネルへのコンテキスト切り替えが必要です。カーネルは受信者に切り替えたり、送信者に戻したり、まったく関連のないプロセスに切り替えたり、カーネル操作を続けたりすることができます。

関連情報