考虑三个占用大量CPU的进程,这些进程需要10、20和30个时间单位,分别到达时间0、2和6。如果操作系统实现了最短剩余时间优先调度算法,则需要多少个上下文切换?不要在时间零和结束时计算上下文切换。
(A) 1
(B) 2
(C) 3
(D) 4答案: (B)
解释:
最短剩余时间,也称为最短最先剩余时间(SRTF),是一种调度方法,它是最短作业下一个调度的优先版本。在此调度算法中,选择执行完成前剩余时间最少的过程。由于当前执行的进程是定义上剩余时间最短的进程,并且由于该时间仅应随着执行的进行而减少,因此进程将始终运行,直到它们完成或添加需要更短时间的新进程。
解决方案:
令三个进程分别为P0,P1和P2,其到达时间分别为0、2和6,CPU突发时间分别为10、20和30。在时间0,P0是唯一可用的进程,因此它将运行。在时间2,P1到达,但P0的剩余时间最短,因此继续。在时间6,P2也到达了,但是P0的剩余时间仍然最短,因此它继续。在时间10,安排了P1,因为它是最短的剩余时间过程。在时间30,安排了P2。只需要两个上下文切换。 P0至P1和P1至P2。
请参阅https://www.geeksforgeeks.org/operating-systems-set-14/的问题1
该解决方案由Nitika Bansal提供
这个问题的测验