Я не уверен, что ваш вопрос очень важен.
Пожалуйста, прочитайте больше о системных вызовах , ядер , операционных системах , linux и ядро linux
По сути, системный вызов является (с точки зрения приложения) атомарной операцией, реализуемой одной машинной инструкцией (int 0x80
,syscall
и т. Д.) С несколькими инструкциями по бухгалтерскому учету до (например, загрузка аргументов системного вызова в регистры) и после (например, установка errno
).Когда это происходит, управление переходит в ядро с (своего рода) другим адресным пространством и другим защитным кольцом ;вот список системных вызовов linux
Реальный код, выполняющий системный вызов, находится внутри ядра.Вы можете получить код ядра Linux на kernel.org
См. Также Linux Assembly Howto и asm.sourceforge.net
Чтобы понять, что система вызывает для данного приложения или процесса, используйте strace