如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
优点:(1)易于实现。(2)在一般情况下这种调度算法比先来先服务调度算法的调度性能比FCFS好。缺点:(1)作业(进程)的执行时间是用户估计的,不一定准确,所以实现时不一定真正做到短作业优先调度。(2)对长作业不利若系统不断接受新作业,就有可能使长作业长时间得不到调度。出现饥饿现象(3)缺少剥夺机制,对分时、实时系统仍不理想三、响应比最高者优先算法(HRRF:HighestResponseRatioFirst)响应比R=作业周转时间/作业处理时间=(作业处理时间+作业等待时间)/作业处理时间=1+(作业等待时间/作业处理时间)计算响应比导致一定的时间开销,此算法性能介于FCFS和SJF之间。四、优先级调度算法(HPF—HighestPriorityFirst)2.优先级类型(1)静态优先级在进程创建时确定优先级,在进程运行时保持不变。确定优先级方法:系统确定(内部优先级):考虑进程运行时间、使用资源,进程类型。用户确定(外部优先级):考虑进程紧迫程度,计费与进程优先级有关。(2)动态优先级在进程创建时创立一个优先级,系统在运行的过程中,根据系统的设计目标,不断地调整进程的优先级,这种方法的优点是能比较客观地反映进程的实际情况和保证达到系统设计目标。如等待时间长优先级可改变。五、时间片轮转调度算法(RoundRobin,RR)分时系统中常用时间片轮转法。把CPU划分成若干时间片,并且按顺序分配给就绪队列中的每一个进程,进程轮流占有CPU,当时间片用完时,即使进程未执行完毕,系统也剥夺该进程的CPU,将该进程排在就绪队列末尾,等候下一轮调度。1.时间片大小的确定时间片大小对系统性能有很大影响。时间片太小,会导致频繁切换,增大系统开销;时间片太大,轮转一次时间加长,进程在一个时间片内完成,时间片轮转算法退化为FCFS算法,无法满足交互式用户需求。确定时间片长度要从进程数目、切换开销、系统效率和响应时间等多方面加以考虑。2.RR改进RR由于采用固定时间片和仅有一个就绪队列,所以服务质量不够理想,进一步改进沿两个方向:(1)将固定时间片改为可变时间片引入可变时间片轮转调度算法(2)将单就绪队列改为多就绪队列引入多级反馈队列调度算法六、多级反馈队列调度算法(MLFQ:Multi-levelFeedbackQueue)该算法具有较好的性能,能满足各类应用的需要。分时交互型短作业:通常在第一队列规定的时间片完成,可使终端型用户满意。短批处理作业:通常在第一队列和第二队列各执行一个时间片就能完成,周转时间仍很短。长批处理作业:它将一次在第1,2,3…n个队列中运行。第二章作业第三章同步、通信与死锁3.1进程的同步与互斥在多道程序的环境中,系统中的多个进程可以并发执行,同时它们又要共享系统中的资源,由此诸进程间会产生错综复杂的相互制约的关系。一、进程间制约关系1.竞争关系源于资源共享,多个不存在逻辑关系的进程因共享资源而产生制约关系。若一个进程要求使用某一资源,而该资源正被另一个进程使用,并且这一资源不允许两个进程同时访问,那么该进程只有等待,只有这一资源释放后才能使用。2.协作关系源于进程间的协作。一组进程为完成共同任务分工协作,各进程都独立以不可预知速度推进,在执行的先后次序就有约束,在一些关键点上协调工作。若一个进程运行到某关键点时,在尚未收到另一协作进程发来的信息前应阻塞自己,等协作进程发来消息后方可继续执行。进程间这种相互依赖又相互制约,相互协作又相互竞争的关系,主要表现在进程互斥和进程同步两方面二、进程互斥引例:宿舍电话的使用打印机的使用1、临界资源一次仅允许一个进程使用的资源称为临界资源。引例中的电话和打印机都属于临界资源。还有光盘刻录机、绘图仪、共享变量、共享的数据结构等等也是临界资源。2、临界区:每个进程中访问临界资源的那段程序段称为临界区。(临界段)3、进程互斥进程应互斥访问同一临界资源,即进程应互斥的进入临界区。当一进程正在访问某临界区时,就不允许其它进程进入,试图进入临界区的另一进程必须等待。进程之间的这种相互制约的关系称为进程互斥。三、进程同步例:计算fun1(X)*fun2(y)两进程合作完成任务进程1:计算fun1(X)。进程2:计算fun2(X);与进程1结果相乘。进程1和进程2并发执行。3.2进程互斥的实现尝试(1)尝试(2)processP0(){inside[0]=true;turn=1;while(inside[1]&&turn==1);{临界区};inside[0]=false;}为每一进程设标志位inside[i],当inside[i]=true时,表示进程pi要求进入,或正在