gpt4 book ai didi

c - VDSO(7) 和 SYSCALL(2) 之间有什么关系?

转载 作者:行者123 更新时间:2023-11-30 18:34:49 27 4
gpt4 key购买 nike

来自this post ,我学会了

  • syscall 是在 x86-64 上进入内核模式的默认方式。
  • 实际上,最近的内核正在实现VDSO

然后我在 http://man7.org/linux/man-pages/man2/syscall.2.html 中查找手册。 :

The first table lists the instruction used to transition to kernel mode (which might not be the fastest or best way to transition to the kernel, so you might have to refer to vdso(7)), the register used to indicate the system call number, the register used to return the sys‐ tem call result, and the register used to signal an error.....

但我缺乏一些必要的知识来理解这些陈述。

VDSO(7) 是否是 syscall(2) 的实现,或者 syscall(2) 将调用>VDSO(7) 完成系统调用

如果不成立,VDSO(7)SYSCALL(2) 之间的关系是什么?

最佳答案

VDSO(7) 不是 syscall(2) 的实现。如果没有 VDSO(7),系统调用将在用户空间应用程序中运行。在这种情况下将会发生上下文切换。如果使用 VDSO(7),将运行系统调用而无需上下文切换。内核通过 vDSO 自动映射到所有用户空间应用程序的地址空间。

关于c - VDSO(7) 和 SYSCALL(2) 之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50185684/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com