【发布时间】:2018-10-15 13:49:56
【问题描述】:
从this post学到了
-
syscall是在x86-64上进入内核模式的默认方式。 - 实际上,最近的内核正在实现 VDSO
然后我在http://man7.org/linux/man-pages/man2/syscall.2.html 中查找手册:
第一个表列出了用于转换到内核的指令 模式(这可能不是过渡到 内核,因此您可能必须参考 vdso(7)),该寄存器用于 表示系统调用号,用于返回系统的寄存器 tem 调用结果,以及用于发出错误信号的寄存器.....
但我缺乏一些基本知识来理解这些陈述。
难道VDSO(7)是syscall(2)的实现,还是syscall(2)会调用VDSO(7) 完成系统调用?
如果不成立,VDSO(7)和SYSCALL(2)是什么关系?
【问题讨论】:
标签: c operating-system kernel system-calls