进程切换与模式切换
进程切换
定义:
在某个时刻,操作系统中断一个正在运行的进程,将另一个进程置于运行模式,并将控制权交给后者
切换时机:
它可以发生在正在运行进程将控制权交给操作系统之后的任何时刻
切换的事件:
- 中断
- 陷阱
- 系统调用
模式切换
定义:
与用户程序相关联的处理器执行模式(用户模式)和与操作系统相关联的处理器模式(内核模式)之间的切换,
进程切换必须在操作系统的内核模式下进行
模式切换与进程切换的理解
模式切换可在不改变运行态进程状态(有一些中断/异常不会引起进程状态转换,不会引起进程切换,只是在处理完成后把控制权交还给被中断进程。)的情况下发生,此时保存上下文并在以后恢复上下文需要的开销很少。但是若当前正运行进程将转换为另一种状态(就绪(如时钟中断)、阻塞(如系统调用)等),则操作系统必须让环境产生实质性的变化。