+--------------+
| Kernel del sistema operativo |
+--------------+
|
/\
/\
+--------------+
| Processo A |
+--------------+
/\
+--------------+ +------+
| Processo B | | Processo C |
+--------------+ +------+
-------------------------------------------------- ---------------------
Interruzioni del sistema operativo
-------------------------------------------------- ---------------------
1. Il processo A effettua una chiamata di sistema al kernel del sistema operativo per richiedere una risorsa.
2. Il kernel del sistema operativo interrompe il processo A e salva il suo stato corrente.
3. Il kernel del sistema operativo elabora la chiamata di sistema e assegna la risorsa richiesta al processo A.
4. Il kernel del sistema operativo ripristina lo stato del processo A e gli consente di continuare l'esecuzione.
5. Il processo B subisce un'interruzione hardware (ad esempio, un errore di pagina).
6. Il kernel del sistema operativo interrompe il processo B e salva il suo stato corrente.
7. Il kernel del sistema operativo gestisce l'interruzione hardware e riavvia il processo B.
8. Il processo C termina e rilascia nuovamente le sue risorse al kernel del sistema operativo.
9. Il kernel del sistema operativo recupera le risorse detenute dal processo C e le rende disponibili ad altri processi.
10. Il processo A completa la sua esecuzione e rilascia le sue risorse al kernel del sistema operativo.
11. Il kernel del sistema operativo recupera le risorse detenute dal processo A e spegne il sistema.
```