Vorrei capire il termine "chiamata di sistema". Sono a conoscenza del fatto che le chiamate di sistema vengono utilizzate per ottenere i servizi del kernel da un'applicazione spazio utente.
La parte con cui ho bisogno di chiarimenti è la differenza tra una "chiamata di sistema" e una "implementazione C della chiamata di sistema".
Ecco una citazione che mi confonde:
Sui sistemi simili a Unix, quell'API di solito fa parte di un'implementazione della libreria C (libc), come glibc, che fornisce funzioni wrapper per le chiamate di sistema, spesso denominate come le chiamate di sistema che chiamano
Quali sono le "chiamate di sistema che chiamano"? Dov'è la loro fonte? Posso includerli direttamente nel mio codice?
La "chiamata di sistema" in senso generico è solo un'interfaccia definita da POSIX ma per vedere effettivamente l'implementazione si potrebbe esaminare l'origine C e in essa vedere come va effettivamente lo spazio utente reale alla comunicazione del kernel?
Nota di fondo: sto cercando di capire se, alla fine, ogni funzione c finisce per interagire con i dispositivi di /dev
.