ハードウェアおよびソフトウェア割り込みの概念を理解しているかどうかはわかりません。
私が正しく理解していれば、ハードウェア割り込みの目的は、CPUに注意を向けることであり、CPUマルチタスクの実装の一部です。
- 次に、ハードウェア割り込みを発行するのは何ですか?ハードウェアドライバープロセスですか?
- はいの場合、ハードウェアドライバープロセスはどこで実行されていますか?CPU上で実行されている場合、ハードウェア割り込みによってCPUの注意を引く必要はありませんか?他の場所で実行されていますか?
- ハードウェア割り込みはCPUに直接割り込みますか、それとも最初にカーネルプロセスと通信し、カーネルプロセスがCPUと通信しますか?
一方、ソフトウェア割り込みの目的は、現在CPUで実行されているプロセスがリソースを要求することだと思います。
- リソースは何ですか?それらはすべて、実行中のプロセスの形式ですか?たとえば、CPUドライバープロセスとメモリドライバープロセスはCPUとメモリリソースを表しますか?I / OデバイスのドライバープロセスはI / Oリソースを表しますか?プロセスがリソースとも通信したい他の実行中のプロセスはありますか?
- はいの場合、ソフトウェア割り込みはカーネルプロセスを介して間接的にプロセス(リソースを表す)に接続しますか?ハードウェア割り込みとは異なり、ソフトウェア割り込みはCPUに直接割り込みませんが、代わりにカーネルプロセスに割り込み/接触しますか?