Non sono sicuro di comprendere il concetto di interrupt hardware e software.
Se ho capito bene, lo scopo di un interrupt di processo è attirare l'attenzione della CPU, parte dell'implementazione del multitasking della CPU.
- Quindi cosa genera un interrupt di processo? È il processo del driver hardware?
- Se sì, dove è in esecuzione il processo del driver hardware? Se è in esecuzione sulla CPU, non dovrà attirare l'attenzione della CPU con l'interruzione hardware, giusto? Quindi corre altrove?
- Un interrupt di processo interrompe direttamente la CPU o contatta prima il processo del kernel e il processo del kernel quindi contatta / interrompe la CPU?
D'altra parte, penso che lo scopo di un interrupt software sia che un processo attualmente in esecuzione su una CPU richieda alcune risorse.
- Quali sono le risorse? Sono tutti sotto forma di processi in esecuzione? Ad esempio, i processi del driver della CPU e quelli del driver della memoria rappresentano le risorse della CPU e della memoria? Il processo del driver dei dispositivi I / O rappresenta le risorse I / O? Altri processi in esecuzione che il processo vorrebbe comunicare anche con risorse?
- Se sì, un software interrompe i processi (che rappresentano le risorse) indirettamente tramite il processo del kernel? È giusto che a differenza di un interrupt di processo, un interrupt di software non interrompa mai direttamente la CPU, ma invece interrompe / contatta il processo del kernel?