Forum Linux.noyau Code des system calls

Posté par  .
Étiquettes : aucune
0
23
sept.
2007
bonjour
je cherche à comprendre comment fonctionnent les syscalls et pour ça j'ai téléchargé les sources du noyau.
mais je ne trouve aucune trace des appels systeme à l'intérieur, pourtant je suppose que c'est là qu'ils doivent se trouver non?
si quelqu'un peut me guider merci d'avance
  • # C'est la

    Posté par  (site web personnel) . Évalué à 5.

    C'est bien dans le source du noyau qu'il se trouve, mais attention, le noyau c'est gros et on a vite fait de s'y perdre.

    D'abord, pour parcourir les sources je te conseille : http://lxr.linux.no/source/

    Les appels système s'appellent sys_* dans le noyau et il n'est pas toujours évident de les trouver. La liste est ici : http://lxr.linux.no/source/arch/i386/kernel/syscall_table.S

    Après il faut les chercher un par un. Il ont une position en général assez générique et logique, exemple, sys_exit dans kernel/exit.c
    • [^] # Re: C'est la

      Posté par  . Évalué à 3.

      C'est bien çà, l'astuce. Tous les appels système ou presque (ceux que l'on peut trouver dans la section 2 du manuel), sont en fait interceptés par la libc, ne serait-ce que pour pouvoir la lier aux programmes que l'on compile.

      Du coup, les appels systèmes proprement dits ne sont jamais déclarés sous leur nom « officiel » exact dans le noyau lui-même ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.