文章目录
- 调度器和闲逛进程
- 调度器/调度程序
- 进程调度
- 线程调度
- 闲逛进程
- 调度算法的指标
- 总览
- CPU利用率
- 系统吞吐量
- 周转时间
- 等待时间
- 响应时间
- 小结
调度器和闲逛进程
调度器/调度程序
进程调度
是否让当前进程下处理机,让哪个进程上处理机
创建完新进程,此时该进程会进入就绪队列,此时可能会由于该刚进入就绪态的队列的程序使得就绪队列变化,那么调度程序可能检查一下是否需要让当前进程下处理机,是否让这个刚进入就绪态的进程上处理机(进程调度)
进程退出后处理机空闲,此时需要调度程序
IO中断(某些进程的等待事件发生了)使得就绪队列改变,调度程序就会检查这个新就绪的进程是否需要进入运行态
触发调度程序工作,调度程序会检查就绪队列是否有新的队列,该新队列是否需要进入运行态(上处理机)
线程调度
闲逛进程
没有就绪进程,处理机执行闲逛进程
检查中断:如果有中断那么会唤起调度程序
零地址指令:不需要访存,执行简单,消耗低
调度算法的指标
总览
CPU利用率
系统吞吐量
周转时间
周转时间相同的情况下,运行时间长的作业。用户感觉更好,因为等待时间更短(即不那么卡顿)
带权周转时间越小说明运行时间占比更大,等待时间相应也更少。周转时间更小那么作业本身的完成时间更小,自然更好
等待时间
等待IO完成的期间的IO设备其实也是在服务进程的
被服务=使用
注意作业的等待时间和进程的等待时间是不一样的
在操作系统中,一个作业(或进程)的CPU服务时间和I/O服务时间通常由作业本身的特性决定,例如所需的计算量和所需处理的数据量。这意味着,无论使用哪种调度算法,这些服务时间基本上是不会改变的。具体来说:
- CPU服务时间:这是指作业在CPU上执行指令所需的时间。它取决于作业的复杂性和所需的计算量。一旦作业开始执行,它将占用CPU直到完成其计算任务。
- I/O服务时间:这是指作业与输入输出设备交互所需的时间,如读写文件、网络通信等。这段时间内,作业可能不需要CPU参与,而是等待I/O操作的完成。