Ho scritto programmi in C/C++ che fanno uso dell'API di Linux e faccio chiamate di sistema come fork(), read(), write() ecc. Ora sto cominciando a chiedermi se queste funzioni di libreria sono in realtà un sistema chiama o sono una specie di funzione wrapper.Sono chiamate di funzione come read(), write() chiamate di sistema effettive in linux?
Cosa succede veramente quando un programma effettua una chiamata a write()? In che modo questa funzione interagisce con il kernel? Se questo è un wrapper allora perché ne abbiamo bisogno?
Come sulla lettura Assenbly codice che il compilatore emette o utilizzando un debugger per tracciare quello il tuo programma funziona? – MikeCAT
Un modo rapido per scoprire quali chiamate sono semplici involucri di chiamata di sistema è di solito l'uso di 'man'. La sezione 2 contiene le chiamate di sistema in modo che "man 2 read'" sia un'indicazione che leggere effettivamente è una chiamata di sistema avvolta. –