Исходные коды системных вызовов в Linux разрабатываются с использованием макроса SYSCALL_DEFINE. 2 Он упрощает процесс создания системного вызова, обрабатывая различные требования к шаблонному коду, такие как трассировка и передача параметров. 2
Каждому системному вызову в Linux присваивается уникальный номер. 2 Процессы не обращаются к системным вызовам по имени, вместо этого они используют его номер. 1 Однажды назначенный номер не должен меняться никогда для совместимости с прикладными программами. 1
Объявление вызовов находится в файле include/asm/unistd.h. 1 Этому файлу в коде ядра соответствует файл include/asm-i386/unistd.h в дереве исходных кодов ядра. 1
Некоторые другие особенности разработки исходных кодов системных вызовов в Linux: