Si usano come normali funzioni.
la read e la write, per esempio, in Unix/Linux sono system calls.

Questo potrebbe essere lo scheletro di un terminale implementato con delle system calls

codice:
#include <unistd.h>

while (TRUE){
  getcommand(command,parameters); //attende un comando

  if (fork()==0){ //system call che duplica chi la chiama
    execve(command,parameters); //system call che sostituisce il chiamante con un altro 
                                              // eseguibile chiamato in command
  }

}