小编Zux*_*uxy的帖子

为什么传统模式下的 syscall/sysret 被认为“设计得非常糟糕”?

请参阅https://github.com/torvalds/linux/blob/master/arch/x86/entry/entry_64_compat.S 中的评论

我知道因为 32 位 syscall/sysret 不保存/恢复 ESP,所以有必要在任务门中处理 NMI 以确保良好的堆栈指针。除此之外,操作系统采用它的其他障碍是什么?是否有操作系统支持它或所有操作系统都使用 sysenter/sysexit 在 32 位传统模式下进行快速系统调用?

x86 assembly operating-system system-calls amd-processor

4
推荐指数
1
解决办法
85
查看次数