调度 ----操作系统的基本功能,几乎所有的计算机资源在使用前都要被调度。
CPU调度----CPU是计算机最为重要的资源之一,CPU调度就是通过在进程之间切换CPU,提高计算机效率,是多道程序操作系统的基础。
进程执行由CPU执行和IO等待周期组成,在这两个状态之间切换,开始和结束都是CPU执行。----这些特征是实现CPU调度的重要参考。
抢占与非抢占调度
非抢占调度----一旦CPU杯分配给一个进程,那么该进程会一直拥有CPU直到进程终止或切换到等待状态。
可抢占调度有更大的调度权限,但要有一定硬件支持(如定时器),同时也是有代价的(如在多进程间共享数据的情况下的调度),内核设计亦有影响。
这些影响归结到一点就是抢占调度可能造成多进程之间(包括普通进程和内核之间)要处理的数据(普通数据,也可能是内核数据)出现了不一致的状态。
调度准则
CPU使用率
吞吐量----一个单元时间内完成的进程数量
周转时间----进程提交到进程完成的时间间隔
等待时间----进程在就绪队列中等待所花的时间总和。(调度并不影响进程运行和执行IO的时间量,相对影响的是等待时间)
响应时间----提交请求到第一响应时间的时间(不是输出该请求的时间,可以与周转时间比较),该指标对于交互式系统更重要。
好的调度是CPU使用率、吞吐量最大化,周转时间、等待时间和响应时间最小化。
---未完