首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux系统调用实现

linux系统调用实现
EN

Stack Overflow用户
提问于 2016-02-14 16:33:06
回答 1查看 478关注 0票数 3

在哪里可以找到一些系统调用的源代码?例如,我正在寻找fstat的实现,如描述的这里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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行之后)。

另见 & 答案

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35394164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档