syscall
是在上进入内核模式的默认方法x86-64
。该指令 在Intel处理器的 32位操作模式下不可用。sysenter
是最常用于以32位操作模式调用系统调用的指令。它类似于syscall
,但是使用起来有点困难,但这是内核的关注点。int 0x80
是调用系统调用的传统方式,应避免使用。
调用系统调用的首选方法是使用VDSO,VDSO是映射在每个进程地址空间中的一部分内存,可以更有效地使用系统调用(例如,在某些情况下完全不进入内核模式)。与传统
int0x80方式相比,VDSO还要处理更困难的事情
syscall或
sysenter指令。
另外,请参阅此和本。



