太原理工大学操作系统-第三章处理机调度与死锁分析
- 格式:ppt
- 大小:1006.50 KB
- 文档页数:72
第三章处理机调度与死锁1.高级调度与低级调度的主要任务是什么? 为什么要引入中级调度?(1)高级调度又称为作业调度。
它是批处理系统中使用的一种调度。
其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。
(2)低级调度又称进程调度。
它是距离硬件最近的一级调度。
其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。
(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。
其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。
此时的进程状态为挂起状态。
当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。
2. 处理机调度算法的共同目标是什么? 批处理系统的调度目标又是什么?共同目标:资源利用率,公平性,平衡性,策略强制执行。
批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。
6.为什么要引入高响应比优先调度算法?它有何优点?在批处理系统中,FCFS算法所考虑的只是作业的等待时间,而忽视了作业的运行时间。
而SJF算法正好与之相反,只考虑作业的运行时间,而忽视了作业的等待时间。
高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。
7.试说明低级调度的主要功能。
保存处理机的现场信息、按某种算法选取进程、把处理机分配给进程。
12.试比较FCFS和SJF两种进程调度算法。
相同点:两种调度算法都可用于作业调度与进程调度不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。
该算法有利于长作业/进程,不利于短作业/进程。
SJF算法每次调度都从后备队列中选择一个或若干个运行时间最短的作业,调入内存中运行。
3.1 处理机调度的层次作业需经过处理机调度后才可以获得处理机来执行。
批量型作业需经过作业调度和进程调度终端型作业只需经过进程调度。
而终端型作业是指用户从中断打入键盘命令,直接控制其运行的作业。
批量型不知道什么意思,就是感觉很大的作业。
1.作业调度即高级调度功能是根据某种算法,把外存上处于后备队列的作业调入内存,调度对象是作业什么是作业??作业就是程序,数据和作业说明书,系统会根据作业说明书队程序加以控制作业步就是做了一步作业。
典型的作业步有三个:(1)编译,(2)连接装配,(3)运行,感觉像是C程序编译运行...作业中包括:作业控制块JCB 保存了系统对作业进行管理和调度所需的全部信息。
感觉就像是进程的PCB,作业进入系统时系统给他创建一个JCB,完成作业后要撤销掉。
作业调度就是根据JCB中信息看能不能为他分配资源,以及按照一定的算法来判断哪些作业可以从外存调入内存...因为用户总是希望自己的作业最快完成,但是系统希望完成所有作业的平均时间最小,所以系统既要考虑用户的感受又要考虑效率,所以要考虑两个问题,接纳多少作业,先接纳谁后接纳谁.....那么重点来了,先到先服务和短作业优先...2.进程调度即低级调度他的调度对象是进程进程调度的功能:(1)保存处理机的当前信息(2)按某种算法选个进程放处理机里(3)把进程放处理机里进程调度方式:1)非抢占式:就是把处理机分给一个进程后,就让他一直运行下去,不许抢2)抢占式:把正在运行的进程踢出去,然后符合某种条件的进来,某种条件是指,优先权高,短作业或者是按时间片运行的,按时间片就是就绪队列的每个进程先运行一个时间片,如果完成了,就完成了,没完成就把他查到就绪队列最后3.中级调度就是介入上面两种之间,不知道什么意思,第四章讲3.2 调度队列模型和调度准则1.低级中级高级调度都有一个调度对列,就是处理机从这个队列中取出进程来运行,这个队列就是调度队列2.这个队列是怎么排出来的呢?由一些准则,包括面向用户准则面向系统准则1)面向用户准则周转时间短,就是我的这个进程需要等待的时间+进程要运行的时间响应要快,就是用户通过键盘输入一个命令后到系统首次做出反应的时间截止时间的保证,系统要在这个时间内必须完成优先权准则。