use*_*763 6 linux system-calls
我知道在Linux x64中,“ syscall”和“ int 0x80”汇编程序指令会在软件中生成中断,要求内核执行某些工作。它们具有不同的操作码(0F 05与CD 80),并且前者速度更快。
我不清楚它们之间是否存在任何关系:它们真的独立吗?(即:“ syscall”是否调用“ int 0x80”?)谢谢。
的syscall(X86-64)和sysenter(X86-32)指令更新,更快,所以使用时可用; 但是int 0x80保留了该机制以与旧二进制文件兼容。没有语义上的差异-系统调用编号是相同的,无论使用哪条指令将控制权转移到内核中,而且我认为参数也都在同一位置。
我有一个暗淡的回忆,因为很少有与系统int 0x80堆栈有关的行为(克隆?execve?sigreturn?),只能使用少量的系统调用,但这可能不再成立。
| 归档时间: |
|
| 查看次数: |
868 次 |
| 最近记录: |