Я не уверен, что понимаю концепцию аппаратных и программных прерываний.
Если я правильно понимаю, цель аппаратного прерывания - привлечь внимание к процессору, что является частью реализации многозадачности процессора.
- Тогда что выдает аппаратное прерывание? Это процесс аппаратного драйвера?
- Если да, где работает процесс драйвера оборудования? Если он работает на процессоре, то ему не придется привлекать внимание процессора с помощью аппаратного прерывания, верно? Так это работает в другом месте?
- Аппаратное прерывание прерывает процессор напрямую или сначала связывается с процессом ядра, а затем процесс ядра связывается с процессором или прерывает его?
С другой стороны, я думаю, что целью программного прерывания является процесс, запущенный в данный момент на ЦП, для запроса некоторых ресурсов.
- Какие ресурсы? Они все в форме запущенных процессов? Например, процесс драйвера процессора и процесс драйвера памяти представляют ресурсы процессора и памяти? Представляет ли процесс драйвера устройств ввода-вывода ресурсы ввода-вывода? Другие запущенные процессы, с которыми процесс хотел бы взаимодействовать, также и ресурсы?
- Если да, программное прерывание связывается с процессами (которые представляют ресурсы) косвенно через процесс ядра? Правильно ли, что в отличие от аппаратного прерывания, программное прерывание никогда не прерывает процессор напрямую, а вместо этого прерывает / связывается с процессом ядра?