首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >_dl_sysinfo_int80的目的是什么?

_dl_sysinfo_int80的目的是什么?
EN

Stack Overflow用户
提问于 2015-05-15 05:13:57
回答 1查看 469关注 0票数 3

我是说,为什么不直接发布int指令呢?

代码语言:javascript
复制
Dump of assembler code for function execve:
   [omitted]
   0x0806c282 <+18>:    call   *0x80e99f0
   [omitted]
End of assembler dump.
(gdb) disas *0x80e99f0
Dump of assembler code for function _dl_sysinfo_int80:
   0x0806ed70 <+0>: int    $0x80
   0x0806ed72 <+2>: ret    
End of assembler dump.

从我缺乏经验的角度来看,_dl_sysinfo_int80只会增加开销。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-15 10:13:41

执行系统调用的方法有多种。最古老和最慢的是int 0x80。其优点是它适用于所有系统。后来,英特尔引入了sysentersyscall指令。不幸的是,它们不兼容,只在某些芯片上工作。为了能够使用最好的实现,增加了一个间接级别。内核本身通常提供映射到每个进程(vDSO的一部分)的条目代码。据我所知,当内核提供的代码由于某些原因不可用时,_dl_sysinfo_int80只是用作后盾。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30251944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档