intro(2) System Calls Manual intro(2)
NOM
intro - Introduction a la section des appels systeme
DESCRIPTION
La section 2 des manuels decrit les appels systeme Linux. Un appel
systeme est un point d'entree dans le noyau Linux. Generalement, les
appels systeme ne sont pas invoques directement : a la place, la
plupart des appels systeme ont des fonctions enveloppes correspondantes
dans la bibliotheque C qui effectuent les etapes necessaires (par
exemple, deroutement (trap) en mode noyau) afin d'invoquer l'appel
systeme. Ainsi, faire un appel systeme ressemble a la meme chose que
d'invoquer une fonction de la bibliotheque.
Dans bien des cas, la fonction enveloppe fournie par la bibliotheque C
ne fait rien deplus que :
- copier les parametres et le numero unique d'appel systeme dans les
registres ou le noyau les attend ;
- deroutement (<< trap >>) en mode noyau, a la suite de quoi le noyau
effectue le travail concret de l'appel systeme ;
- positionner errno si l'appel systeme a renvoye un numero d'erreur au
moment ou le noyau repasse le CPU en mode utilisateur.
Cependant, dans certains cas, une fonction enveloppe peut faire plus
que cela, comme pretraiter les parametres avant de passer en mode
noyau, ou post-traiter les valeurs renvoyees par l'appel systeme.
Lorsque c'est le cas, les pages de manuel de la section 2 essaient de
decrire les details a la fois de l'interface de programmation de la
bibliotheque C (generalement GNU) et de l'appel systeme brut. Plus
generalement, la section DESCRIPTION de la page se concentre sur
l'interface de la bibliotheque C, puis les differences de l'appel
systeme sont decrites dans la section NOTES.
Pour avoir une liste des appels systeme de Linux, consultez la page
syscalls(2).
VALEUR RENVOYEE
En cas d'erreur, la plupart des appels systeme renvoient une valeur
d'erreur negative (c'est-a-dire, la valeur opposee de l'une des
constantes decrites dans errno(3)). La fonction enveloppe de la
bibliotheque C cache ce detail a l'appelant : lorsqu'un appel systeme
renvoie une valeur negative, la fonction enveloppe met dans la variable
errno la valeur absolue de cette valeur de retour et renvoie -1 comme
sa valeur de retour.
La valeur renvoyee par un appel systeme reussi depend de l'appel.
Beaucoup d'appels systeme renvoient 0 lorsqu'ils reussissent, mais
certains renvoient parfois une valeur non nulle dans ce cas. Les
details sont decrits dans leur page de manuel associee.
Dans certains cas, le programmeur doit definir une macro de test de
fonctionnalites afin d'obtenir la declaration d'un appel systeme du
fichier d'en-tete specifie dans la section SYNOPSIS de la page de
manuel (si elle est necessaire, cette macro de test de fonctionnalites
doit etre definie avant d'inclure tout fichier d'en-tete). Dans de tels
cas, la macro necessaire est decrite dans la page de manuel. Pour plus
d'informations sur les macros de test de fonctionnalites, consultez
feature_test_macros(7).
STANDARDS
Certains termes et abreviations sont utilises pour indiquer les
variantes d'UNIX ou les normes auxquelles les appels de cette section
se conforment. Consultez standards(7).
NOTES
Appel Direct
Dans la plupart des cas, il n'est pas necessaire d'invoquer un appel
systeme directement, mais il arrive parfois que la bibliotheque
standard de C n'implemente pas une fonction pourtant utile. Dans ce
cas, le programmeur doit invoquer l'appel systeme a la main, en
utilisant syscall(2). Auparavant il etait aussi possible d'utiliser les
macros _syscall, qui sont decrites dans _syscall(2).
Auteurs et termes de droit d'auteur
Consultez les en-tetes de la source de chaque page de manuel pour
connaitre le(s) auteur(s) et conditions de droit d'auteur. Ils peuvent
etre differents selon les pages.
VOIR AUSSI
_syscall(2), syscall(2), syscalls(2), errno(3), intro(3),
capabilities(7), credentials(7), feature_test_macros(7),
mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7),
shm_overview(7), signal(7), socket(7), standards(7), symlink(7),
system_data_types(7), sysvipc(7), time(7)
TRADUCTION
La traduction francaise de cette page de manuel a ete creee par
Christophe Blaess , Stephan Rafin
, Thierry Vignaud ,
Francois Micaux, Alain Portal , Jean-Philippe
Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas
Huriaux , Nicolas Francois
, Florentin Duneau
, Simon Paillard , Denis Barbier , David Prevot
et Jean-Philippe MENGUAL
Cette traduction est une documentation libre ; veuillez vous reporter a
la GNU General Public License version 3
concernant les conditions
de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE.
Si vous decouvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message a .
Pages du manuel de Linux 6.9.1 2 mai 2024 intro(2)