前言
处理器调度是一个很重要的东西关乎到的是作业以及进程之间的关系,按照何种原则挑选批处理作业进入内存进行,能否继续接纳分时用户,处理器时间如何划分,时间片长短如何确定,怎样在进程之间分配处理器资源,这些都是处理器所要面对的问题!
调度等级
高级调度
高级调度又叫作业调度,当作业按照预定的策略进入内存时为其分配资源并创建相应的进程,会控制进入cpu的作业的个数,当个数进入多了,cpu每个作业获得的cpu资源变少了,也会限制内存中同时运行的进程数,还会干作业完成后的善后工作!
中级调度
中级调度又称平衡调度,是在外存与内存之间的进程的对换工作,会把暂时不能运行的进程换出到外存中,也就是说会将这些对换到磁盘镜像区中,这个叫“挂起”!
会根据内存的资源控制所能容纳的进程个数,所以可以重复提高内存利用率和系统吞吐率。
低级调度
低级调度,是最频繁的调度,是最核心的部分!可以根据某种原则决定就绪队列中的那个进程/线程获得处理器,并且调度策略会影响系统性能。
总
以上的三个等级,在一般的操作系统中只有高级跟低级调度,在某一些系统为了提高内存的利用率跟提高系统的吞吐量会加入中级调度,所以就分为两种模型① 三级模型 ②两级模型。当出现资源的不够时,会通过中级调度将进程从内存对换到外存中,也就是变成挂起状态也会发生外存就绪态转变成内存就绪态,外存等待态转变成内存等待态!
选择调度算法的原则
五项原则
- 吞吐率
- 资源利用率:这里cpu运行时间=cpu有效工作时间+cpu等待时间,cpu的利用率=cpu有效时间/cpu总时间 这样看来有效时间越高利用率就会越高!所以当进入的程序个数越多时效率也会高,当然是在一定的I/O比例下。
- 公平性:让每个进程获得的资源的概率一样
前三个是相对于系统来说 - 响应时间:尽快的处理交互任务
- 周转时间
调度性能指标
- 批处理系统的调度性能用作业周转时间和带权作业周转时间来衡量此时间越来越短越好
- 周转时间ti=tf-ts
- ti是周转时间
- tf是完成时刻
- ts是提交时刻
- 带权周转时间:wi=ti/tk
- wi是带权周转时间
- ti是周转时间
- tk是完成进程所需要的时间