Linuxカーネルについて学びます。
Unix信号はメカニズムを提供します。システムイベントプロセスへの通知。各イベントには通常、シンボル定数(SIGTERMなど)と呼ばれる一意の信号番号があります。システムイベントには2種類あります。
非同期通知たとえば、ユーザーは端末で割り込みキーコード(通常Ctrl-C)を押して、割り込み信号SIGINTをフォアグラウンドプロセスに送信できます。
通知の同期たとえば、プロセスが無効なアドレスのメモリ位置にアクセスすると、カーネルはSIGSEGV信号をプロセスに送信します。
そして
...一般的に言えば、プロセスはシグナリングに応答できます。2つの可能な方法があります。
•この信号を無視してください。
•非同期指定されたプロシージャ(信号ハンドラ)を実行します。
非同期式と同期式の意味を知りたいです。
- システムイベントをプロセスに通知します。
- 信号に反応しますか?
ありがとうございます。
ベストアンサー1
非同期とは、次にプログラムが実行されたときにシグナルが転送され捕捉されることを意味します(無視されない場合)。これは通常、他のプロセス(via kill
、like、SIGINT
またはなどSIGSTOP
)から送信された信号を表します。
同期とは、プログラムが実行中であるため(つまり、スケジューラの状態が実行中であるため)、シグナルが即座に転送されることを意味します。通常、これはプログラム実行の直接の結果であり、信号はカーネル(たとえばSIGILL
... SIGSEGV
)によって送信されます。