gpt4 book ai didi

operating-system - 为什么要在代码中尽量减少对系统调用的使用?

转载 作者:行者123 更新时间:2023-12-04 07:25:06 27 4
gpt4 key购买 nike

我想知道是否有任何理由来减少代码中对系统调用的使用,以及不使用系统调用的替代方法,有人会说使用API​​但api依次使用系统调用

是真的吗?

最佳答案

因为大多数系统调用都有固有的开销。系统调用是一种进入内核的方法,内核是获得某些服务的受控网关。

执行系统调用时,会采取一些措施(警告,这是一种简化):

  • 您调用一个库(包装器)函数
  • 函数将参数放在期望的位置。此外,该函数还将系统调用的编号放入eax
  • 函数调用一个陷阱(int 0x80或其他)
  • 处理器已切换到内核模式
  • 内核调用一些system_call例程
  • 寄存器保存在内核堆栈
  • 检查参数是否有效
  • 执行操作
  • 从内核堆栈
  • 恢复寄存器
  • 处理器返回到用户模式
  • 函数(最终...)返回

  • 我可能忘记了一些步骤。这听起来像 还是很多工作吗?您想要的只是大胆的部分。其余的是开销。

    关于operating-system - 为什么要在代码中尽量减少对系统调用的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6424725/

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