Je ne suis pas sûr de comprendre le concept d'interruption matérielle et logicielle.
Si je comprends bien, le but d’une interruption matérielle est d’attirer l’attention du processeur, notamment lors de la mise en œuvre du traitement multitâche du processeur.
- Alors qu'est-ce qui déclenche une interruption matérielle? Est-ce le processus de pilote de matériel?
- Si oui, où se déroule le processus du pilote matériel? S'il fonctionne sur le processeur, il n'aura pas à attirer l'attention du processeur par une interruption matérielle, n'est-ce pas? Alors est-ce que ça tourne ailleurs?
- Est-ce qu'une interruption matérielle interrompt directement le processeur ou contacte-t-elle d'abord le processus du noyau et ce dernier contacte / interrompt ensuite le processeur?
D'autre part, je pense que le but d'une interruption logicielle est qu'un processus en cours d'exécution sur un processeur demande des ressources.
- Quelles sont les ressources? Sont-ils tous sous la forme de processus en cours d'exécution? Par exemple, les processus de pilote de processeur et de pilote de mémoire représentent-ils les ressources de processeur et de mémoire? Le processus de pilote des périphériques d'E / S représente-t-il des ressources d'E / S? Existe-t-il d'autres processus en cours avec lesquels le processus souhaiterait communiquer avec des ressources?
- Si oui, une interruption logicielle contacte-t-elle les processus (qui représentent les ressources) indirectement via le processus du noyau? Est-il vrai que, contrairement à une interruption matérielle, une interruption logicielle n'interrompt jamais directement le processeur, mais interrompt / contacte le processus du noyau?