进程切换与模式切换

2.4.3进程切换

中断
  • 普通中断
  • timeout:进程时间片耗尽
  • I/O中断:I/O就绪,OS决定该唤醒哪个进程
  • 内存失效(缺页):阻塞当前进程
  • 陷阱(自陷)
  • 进程错误或异常
进程切换原因
  • 普通中断:对外部事件的反应
  • 陷阱:处理异常
  • 系统调用:调用内核程序
中断过程

save context(P1)–>renew pcb(P1)–>move pcb(P1) in queue–>change process(P1->P2)–>renew pcb(P2)–>renew storage、data structure–>reload context(P1)

注意:中断不一定导致进程切换
  • 一个例子:I/O中断后,系统决定仍由先前进程继续执行(比如因为该进程priority更高)
模式切换

用户模式<==>内核模式

原因
  • 系统调用:调用内核服务
  • 中断:调用中断处理程序
模式切换与进程切换

模式切换不一定导致进程切换,要进程切换一定要模式切换


版权声明:本文为qq_44722674原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。