【发布时间】:2022-01-21 10:14:45
【问题描述】:
我正在了解系统调用的实际工作原理并学习了一个术语system call service routine。
我很困惑system call 和system call service routine 有什么区别?
例如,在 Linux 系统上,man syscalls 列出了所有系统调用,有一个系统调用execve() 来执行由路径名指定的新程序。后来我发现它实际上调用了系统调用服务例程sys_execve(execve()的系统调用号为11(__NR_exevce)。因此,在sys_call_table向量中,条目11包含sys_execve()的地址。
__NR_exevce 是什么?我在哪里可以找到sys_call_table vector?
我还发现在 linux 上,系统调用服务例程通常具有 sys_xyz() 形式的名称,其中 xyz() 是系统调用。
【问题讨论】:
标签: linux system-calls