2012/03/25

シグナルと割り込み

Linuxカーネルは、予期せぬ問題が起こったときに、プロセスに伝える機能を持っています

これを「シグナル」と呼びます

例えば、メモリーに不正なアクセスがあった、他のプロセスによって処理を中断された、といった場合です。

 

シグナルはプログラムの実行状況に関係なく発生し、プロセスに伝えられます

プロセスはシグナルを受け取ったとき、何か処理を実行したり無視したりします

シグナルには種類があり、中にプロセスの中断や強制終了など、処理内容が決められていて無視できないシグナルもあります

 

急な問題に対処するために、プログラムの実行に関係なく、処理を実行できる機構もあります

これを「割り込み」と呼びます

IMG_3498

例えば、キーボードから入力があった場合に、割り込みが発生します

Linuxカーネルは発生した割り込みによって処理プログラム「割り込みハンドラー」を実行し、その処理が終了したら、割り込み発生前の処理を中断します

0 件のコメント:

コメントを投稿