linux - 调度程序代码在什么上下文中运行?

标签 linux linux-kernel scheduling interrupt

调用调度器代码schedule()有两种情况——

  1. 当一个进程主动调用schedule()

  2. 定时器中断调用schedule()

在情况 2 中,我认为 schedule() 在中断上下文中运行,但是第一种情况呢?它是否在调用它的进程的上下文中运行?

还有没有更多的场景调用schedule()

最佳答案

schedule() 始终在进程上下文中运行。在第二种情况下,当它由定时器中断启动时,它位于从内核返回到调用 schedule() 的中断进程的返回路径中。

关于linux - 调度程序代码在什么上下文中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106050/

相关文章:

mysql - 在服务器重新启动时启用 mysql 事件调度程序

linux - 如何防止在 Linux 中关闭 SSH 客户端后停止后台进程

python - 如何仅重定向流的一部分?

linux - 从 Yocto build 手动构建内核源代码

linux - Linux Loadable 和内置模块的区别

c - 警告 : assignment makes pointer from integer without a cast [enabled by default]

linux - Amazon Linux 正在阻止传出的 http 调用

linux - 如何在一行中重复数据的末尾放置序号?

c - 内存未满时Linux内核模块OOM

algorithm - 如何使用 CPLEX opl 添加这样的约束?