1.进程切换的时机
这个简单说说,进程切换主要分为两种,主动的放弃处理器和被动的放弃处理器。
其中主动放弃处理器的场景是
1. 进程正常结束,主动放弃。
2. 进程在执行时发生了异常。
被动放弃处理器的场景是
1. 进程在执行时有个更紧急的任务(比如IO操作)
2. 遇到有更高优先级的进程
3. 进程的时间片过期
2.几个进程调度的算法
先来看第一个 FCFS(First Come First Server) 先来先服务
就像排队买奶茶,很公平,但是不一定高效率。
举个栗子:
比如有四个进程P1、P2、P3、P4四个进程,到达时间和运行时间如上表。
因为先来先服务,所以调度的顺序是P1->P2->P3->P4。
然后计算周转时间、等待时间、带权周转时间。
周转时间=完成时间-到达时间
带权周转时间=周转时间/运行时间
等待时间=周转时间-运行时间