上下文切换到内核的顺序是什么

时间:2015-05-09 22:54:42

标签: linux-kernel operating-system kernel interrupt

在这三个步骤中,这是正确的顺序,还是我需要切换任何一个?

1)保存当前状态数据

2)打开内核模式

3)确定中断原因

2 个答案:

答案 0 :(得分:0)

所以,让我试着帮你找出正确的顺序。

  • 只有内核可以切换上下文,因为只有内核可以访问必要的数据,并且可以更改其他进程的地址空间的页表。
  • 要确定是否进行上下文切换,内核需要分析一些“输入”。例如,可能会执行上下文切换,因为已触发定时器中断并且进程的时间片已结束,或者因为进程已开始执行某些IO。
  • 只有内核可以保存用户进程的状态,因为用户进程在尝试存储时会改变其状态。然而内核知道如果它正在运行,则用户进程当前被中断(例如,由于中断或者因为用户空间进程自愿进入内核,例如系统调用)

答案 1 :(得分:0)

  1. 流程的当前上下文首先由硬件(处理器)保存,然后由软件(内核)保存。
  2. 然后通过加载新的eip将控件从用户进程转移到内核,esp和其他保存的内核上下文由来自任务状态段(TSS)的硬件加载。
  3. 然后基于中断或陷阱号。请求被分派到适当的处理程序。