Saya tidak yakin apakah saya mengerti konsep interupsi perangkat keras dan lunak.
Jika saya mengerti dengan benar, tujuan dari interupsi perangkat keras adalah untuk mendapatkan perhatian dari CPU, bagian dari implementasi CPU multitasking.
- Lalu apa masalah gangguan hardware? Apakah ini proses driver perangkat keras?
- Jika ya, di mana proses driver perangkat keras berjalan? Jika itu berjalan pada CPU, maka itu tidak perlu mendapatkan perhatian dari CPU oleh perangkat keras, kan? Jadi apakah itu berjalan di tempat lain?
- Apakah interupsi perangkat keras mengganggu CPU secara langsung, atau apakah itu pertama-tama menghubungi proses kernel dan proses kernel kemudian menghubungi / menginterupsi CPU?
Di sisi lain, saya pikir tujuan interupsi perangkat lunak adalah untuk proses yang sedang berjalan pada CPU untuk meminta beberapa sumber daya.
- Apa sumber dayanya? Apakah semuanya dalam bentuk proses yang berjalan? Misalnya, apakah proses driver CPU dan proses driver memori mewakili sumber daya CPU dan memori? Apakah proses driver perangkat I / O mewakili sumber daya I / O? Apakah proses lain yang sedang berjalan yang ingin dikomunikasikan juga dengan sumber daya?
- Jika ya, apakah suatu perangkat lunak mengganggu proses kontak (yang mewakili sumber daya) secara tidak langsung melalui proses kernel? Apakah benar bahwa tidak seperti interupsi perangkat keras, interupsi perangkat lunak tidak pernah secara langsung mengganggu CPU, tetapi sebaliknya, ia menginterupsi / menghubungi proses kernel?