调度算法
时间片轮转
常用于分时系统,更注重“响应时间”,因而此处不计算周转时间。
时间片为2
时间片为5
按照先来先服务调度算法
如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程响应时间。因此时间片不能太大。
比如:系统中有10个进程在并发执行,如果时间片为1秒,则一个进程被影响可能需要等9秒...也就是说,如果用户在自己进程的时间片外通过键盘发出调试命令,可能需要等待9秒才能被系统响应。
另一方面,进程调度、切换是有时间代价的(保存、恢复运行环境),因此如果时间片太小,会导致进程切换过于频繁,系统会花大量时间来处理进程切换,从而导致实际用于进程执行的时间比例减少,可见时间片也不能太小
一般来说,设计时间片要让切换进程的开销占比不超过1%
优先级调度算法
FCFS算法的优点是公平
SJF算法的优点是能尽快处理完短作业,平均等待/周转时间等参数很优秀
时间片轮转调度算法可以让各个进程得到及时的响应
优先级调度算法可以灵活地调整各种进程被服务的机会
多级反馈队列调度算法
注:比起早期的批处理系统来说,由于计算机造价大幅降低,因此之后出现的交互式操作系统(包括分时操作系统、实时操作系统等)更注重系统的响应时间、公平性、平衡性等指标。而这几种算法恰好也能较好地满足交互式系统的需求。因此这三种算法适合用于交互式系统。