linux - 系统调用实现

标签 linux linux-kernel system-calls

如果用户应用程序进行系统调用,则会触发软件中断/异常。如何查看生成软件中断的源代码?

最佳答案

Linux Assembly Howto 中有解释.你应该阅读维基百科 syscall页面(以及关于 VDSO ),以及 intro(2) & syscalls(2)手册页。另见 this回答和this一。也看看里面 Gnu Libc & musl-libc源代码。还可以学习使用 strace 找出给定命令或进程进行了哪些系统调用。

另见 calling conventions与您的系统相关的应用程序二进制接口(interface)规范。对于 x86-64,它是 here .

关于linux - 系统调用实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776340/

相关文章:

python - 如何在不绑定(bind) IP 的情况下在特定端口上运行服务

linux - 保持 GNU 自定义 screen 窗口名称不被自动更新

c - 在 Linux 上测试内核 Crypto API

c - unix中nice和setpriority的区别

linux-kernel - 内核 x86_64 中的 syscall_table 位于何处?

linux - 使用 AT_EXECFN 提取时可执行文件的文件名大小限制

linux - 在文件名中调用时 Shell 变量为空,但在回显或在其他地方调用时则不是

ubuntu - vmware 共享文件夹 hgfs linux 内核 3.12 (ubuntu 14.04) 未编译

c - "__floatsidf"编译内核模块时未定义警告

c - 将 stdout 和 stderr 从 fork 进程复制到文件