1. Che cos'è una System Call?
Una System Call (chiamata di sistema) è il meccanismo programmatico attraverso cui un'applicazione in esecuzione nello spazio utente ($\text{Ring 3}$) richiede l'esecuzione di un servizio privilegiato al kernel del sistema operativo ($\text{Ring 0}$). Poiché le applicazioni non possono accedere direttamente all'hardware o alle risorse critiche, devono passare attraverso questa interfaccia controllata.
2. Categorie Principali di System Calls
Le chiamate di sistema si suddividono in base alla tipologia di risorsa gestita:
- Controllo dei Processi ($\text{fork, exec, wait, exit}$): Creazione, esecuzione e terminazione dei processi e dei thread di sistema.
- Gestione dei File ($\text{open, read, write, close}$): Apertura, lettura, scrittura e chiusura di file e flussi di dati su disco.
- Gestione dei Dispositivi ($\text{ioctl, read, write}$): Interazione con le periferiche di I/O (stampanti, schede di rete, terminali).
- Comunicazione ($\text{pipe, socket, send, recv}$): Scambio di dati tra processi differenti (IPC) sia in locale che in rete.
3. Simulatore di Esecuzione System Call
Seleziona una chiamata di sistema per simulare il passaggio dei parametri e l'interazione protetta con il Kernel.