占用CPU的方式有两种:抢占式和非抢占式
在批处理系统中,常用的调度算法有以下:
先来先服务(FCFS):按照进程就绪的先后顺序执行,非抢占,优点:简单,易于实现,但当短进程排在长进程后面时,短进程长时间得不到相应,影响用户体验;
最短作业优先(SJF):就绪队列里具有最短完成时间的进程优先执行,针对FCFS策略的弊端而提出的一种调度算法,非抢占式。在所有进程同时可运行时,可以得到最短平均周转时 间,但会导致长进程‘几饿’现象(队列里短进程较多时);
最短剩余时间优先(SRTN):当一个新就绪的进程比当前正在运行的进程具有更短的完成时间时,系统抢占当前进程。
最高响应比优先(HRRN):综合算法,首先计算每个进程的相应比R,之后,选择R最高的进程执行。
R=周转时间/处理时间 =(等待时间+处理时间)/处理时间 =1+等待时间/处理时间
此方法既保证了处理时间较短的进程优先执行,又能让等待时间较长的进程优先执行
常用的调度算法的衡量指标有:
吞吐量: 每单位时间完成的进程数目
周转时间:进程从提出请求到运行完成的时间
响应时间:从提出请求到第一次响应的时间
CPU利用率:CPU有效工作的时间比例
等待时间:进程在就绪队列的等待时间