目前我正在阅读“了解Linux内核,第3版”,在第22页,我可以阅读:
在最简单的情况下,CPU从中顺序执行内核控制路径 第一条指令到最后一条。但是,当发生以下事件之一时, CPU交错内核控制路径:
- 在用户模式下执行的进程会调用系统调用,以及相应的进程 内核控制路径验证不能立即满足请求;它 然后调用调度程序以选择要运行的新进程。结果,一个过程 切换发生。第一个内核控制路径未完成,而CPU 恢复执行其他一些内核控制路径。在这种情况下,两个 控制路径代表两个不同的进程执行。
内核控制路径是否可以从进行系统调用的用户空间进程中断? 我认为优先级非常重要:
我检查了勘误表,但却找不到任何相关内容。
答案 0 :(得分:4)
你对优先级列表是正确的,但本书试图说的是(我认为):
getpid()
函数调用。所以“不”:不是'内核路径可以从进行系统调用的用户空间进程中断'的情况。
内核路径在代表用户空间进程执行系统调用时可能会被中断,因为:发生中断,或者内核路径必须等待资源可用,或者......