Não sei se entendi o conceito de interrupções de hardware e software.
Se bem entendi, o objetivo de uma interrupção de hardware é chamar a atenção da CPU, parte da implementação da multitarefa da CPU.
- Então, o que causa uma interrupção de hardware? É o processo do driver de hardware?
- Se sim, onde está o processo do driver de hardware em execução? Se estiver rodando na CPU, não precisará chamar a atenção da CPU por interrupção de hardware, certo? Então, está sendo executado em outro lugar?
- Uma interrupção de hardware interrompe a CPU diretamente ou entra em contato com o processo do kernel e o processo do kernel entra em contato / interrompe a CPU?
Por outro lado, acho que o objetivo de uma interrupção de software é que um processo atualmente em execução em uma CPU solicite alguns recursos.
- Quais são os recursos? Todos eles estão na forma de processos em execução? Por exemplo, o processo do driver da CPU e os processos do driver de memória representam recursos de CPU e memória? O processo do driver dos dispositivos de E / S representa recursos de E / S? Existem outros processos em execução com os quais o processo gostaria de se comunicar também com recursos?
- Se sim, uma interrupção de software entra em contato indiretamente com os processos (que representam os recursos) por meio do processo do kernel? É certo que, diferentemente de uma interrupção de hardware, uma interrupção de software nunca interrompe diretamente a CPU, mas interrompe / entra em contato com o processo do kernel?