プロセス管理に関するウィキペディアの記事を読んでいます。私の焦点はLinuxにあります。システムコール、メッセージパッシング、割り込みの概念と目的の関係と違いを理解することはできません。これらはすべて、リソースとサービスをカーネルに要求するプロセスのためのものですか?
この記事からの引用とその他の引用:
OSが割り当て解除または割り当てを実行するために、プログラムの実行中にOSがプロセッサの制御を取り戻すには、2つの方法があります。
- プロセスはシステムコール(ソフトウェア割り込みとも呼ばれます)を発行します。たとえば、ハードディスク上のファイルへのアクセスを要求するI / O要求が発生します。
- ハードウェア割り込みが発生します。たとえば、キーボードでキーが押された、またはタイマーが切れた(プリエンプティブマルチタスクで使用)。
ユーザーモードで実行しているプログラムがカーネルのサービスを要求できる方法は2つあります。
* System call * Message passing
割り込みは、注意の必要性を示す非同期信号、または実行の変更の必要性を示すソフトウェアの同期イベントです。
ハードウェア割り込みにより、プロセッサは実行状態を保存し、割り込みハンドラーの実行を開始します。ソフトウェア割り込みは通常、命令セット内の命令として実装され、ハードウェア割り込みと同様の割り込みハンドラーへのコンテキスト切り替えを引き起こします。