Non esiste davvero una "chiamata in biblioteca". È possibile chiamare una funzione collegata a una libreria condivisa. E questo significa solo che il percorso della libreria viene cercato in fase di esecuzione per determinare la posizione della funzione da chiamare.
Le chiamate di sistema sono chiamate del kernel di basso livello gestite dal kernel.
Se digiti man man
nella tua shell, vedrai l'elenco delle sezioni del manuale
2 Chiamate di sistema (funzioni fornite dal kernel)
3 Chiamate di libreria (funzioni all'interno delle librerie di programma)
Ad esempio, troverai chmod
nella sezione 2 del manuale digitando man chmod
. E fprintf
nella sezione 3.
Le chiamate di sistema sono gestite direttamente dal kernel.
Le chiamate alla libreria sono gestite da una libreria dinamica (o collegata staticamente). Il programma che effettua la chiamata alla libreria deve prima importare quella libreria, prima che la chiamata funzioni. Le stesse chiamate di libreria possono utilizzare chiamate di sistema.
A volte le librerie vengono fornite come "front-end" alle chiamate di sistema, per fornire funzionalità extra o facilità d'uso non fornite dal kernel.