在哪里可以找到一些系统调用的源代码?例如,我正在寻找fstat的实现,如描述的这里。
发布于 2016-02-14 16:38:40
系统呼叫主要是在Linux内核中实现的,在C标准库中有一个很小的胶水代码。但也见vdso(7)。
从用户的角度来看,系统调用(它们在系统(2).中列出)是带有某些SYSENTER的单个机器指令(通常是呼叫约定 )(例如定义哪个机器寄存器保存syscall数字--例如/usr/include/asm/unistd_64.h中的__NR_stat .,以及其他寄存器包含系统调用的参数)。
使用斯特拉斯(1)来理解哪个系统调用是由给定的程序或进程完成的。
C标准库有一个很小的包装函数(它调用内核,遵循ABI,并处理错误报告& errno)。
对于统计局(2),C包装函数例如在stat/stat.c For musl-libc中。
在内核代码中,大部分工作都是在fs/stat.c中进行的(例如,在第207行之后)。
https://stackoverflow.com/questions/35394164
复制相似问题