System Call
Le chiamate di sistema (o system calls) sono l'interfaccia tra i programmi dell'utente e il sistema operativo. Generalmente sono disponibili come particolari istruzioni assembler anche se certi linguaggi (come ad esempio il C) permettono di eseguire direttamente le chiamate di sistema.
Le system calls si occupano essenzialmente di:
- Gestione dei processi: è possibile creare o terminare programmi, allocare dinamicamente della memoria necessaria ad un determinato processo o mettere un processo in attesa. Nei sistemi Unix a ciasun processo viene assegnato un numero identificativo (PID) che può essere utilizzato da alcune chiamate di sistema che accettano dei PID come parametri.
- Gestione dei file: le chiamate di sistema si occupano di creare ed eliminare file, cartelle e collegamenti e di aprire e chiudere i file effettuando le operazioni di lettura/scrittura. Inoltre possono stabilire se il file va letto in maniera sequenziale (cioè partendo dall'inizio e leggendo un byte dopo l'altro) o casuale (cioè potendo leggere direttamente qualunque zona del file senza partire necessariamente dall'inizio).
- Gestione dei dispositivi: le chiamate di sistema gestiscono le operazioni di I/O e si occupano di aggiungere al file system i dispositivi presenti sul computer (mounting).