操作系统2011作业&ccedi

操作系统2011作业&ccedi

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 操作系统第五章作业 1. 处理机调度分哪几种类型?请简述各类调度的主要任务。 答:1)高级调度,决定把外存上处于后备状态的哪些作业调入主机内存准备执行。 2)中级调度,决定主存储器(内存)中所能容纳的的进程数,这些进程将允许参与竞争 处理机资源。 3)低级调度,决定就绪队列中的哪一个进程应该获得处理机,并实际执行将处理机分 配给该进程的操作。 2. 作业调度属于哪一级调度?作业处于运行态时表示该作业占有了处理机 吗?进程处于运行态时表示该作业占有了处理机吗? 答: 作业调度属于宏观调度或高级调度, 当作业处于运行态时只表示该作业已经作为内存中 的进程形式出现,获得竞争CPU的权限,但并不表示一定占有着CPU。当进程或线程处于运 行态时表示该作业的确占有了CPU。 3. 在单道批处理系统中,有下列 3 个作业。请分别用先来先服务调度算法和短 作业优先算法进行调度。设系统开工时间为 10.00,单位为“时” 。 ⑴.FIFO 算法填表 作业 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间 1 10.00 2.00 10.00 12.00 2.00 1 2 10.10 1.00 12.00 13.00 2.90 2.9 3 10.25 0.25 13.00 13.25 3.0 12 开始时间 完成时间 周转时间 带权周转时间 平均周转时间 t=(2+2.9+3)/3=2.63 平均带权周转时间 w=(1+2.9+12)/3=5.3 ⑵.SJF 算法填表 作业 提交时间 执行时间 1 10.00 2.00 10.00 12.00 2.00 1 2 10.10 1.00 12.25 13.25 3.15 3.15 3 10.25 0.25 12.00 12.25 2.00 8 平均周转时间 t=(2+3.15+2)/3=2.38 平均带权周转时间 w=(1+3.15+8)/3=4.05 ⑶.将两种算法进行比较。 答:由上述计算结果可知,针对该作业序列而言,SJF 算法有更短的平均周转时间和平 操作系统(D 类)第五章作业解答 2011 第 1 页 均带权周转时间,所以 SJF 更好。 有 5 个批处理作业A、B、C、D、E在第一分钟内依次到达,且全部被加载 4. 运行成为进程,其预计的运行时间分别为:2、6、3、8、4 分钟,如果系统 采用时间片轮转算法,设时间片为 1 分钟时。 ⑴.如果下面每格代表 1 分钟时间间隔,将每分钟运行的作业名(进程名)填入格内。 ⑵.用箭头标志各作业(进程)完成的地方。 A B C D E A B C D E B C D E B D E B D B D D D ↑ ↑ ↑ ↑ ↑ A=6 C=12 E=17 B=20 D23 ⑶.求此时系统的平均周转时间。 平均周转时间 T=(6+12+17+20+23)/5=15.6 何谓响应比最高优先算法?它有何主要特点? 5. 答:响应比最高优先算法:定义响应比,选中响应比高的作业投入运行。 R= T T = 1+ w Tk Tk 定义了响应比,其中 R 为响应比,T 为周转时间,Tw 为等待时间,Tk 为运行时间。 特点:是对 FCFS 和 SJF 算法的一种综合平衡。响应比与作业的等待时间和运行时间都 有关系,即作业的等待时间越长(运行时间不变),或运行时间越短(等待时间不变),则响 应比就越高,作业被选中的可能性越大。 6. 试论述进程的先进先出调度算法和时间片轮转算法的本质区别。 答:进程的先进先出调度算法是把 CPU 分配给最先进入就绪队列的进程,即就绪队列按进 入的先后次序排队, 调度时选中就绪队列中的首进程投入执行。 单纯的先进先出算法采用非 剥夺方式进行调度。 进程的时间片轮转算法是把 CPU 的处理时间分成固定大小的时间片。每次调度时,把 CPU 分配给队首进程,并令其执行一个时间片。当执行的时间片用完时,由计时器发出时 钟中断请求, 调度进程获得执行, 前述进程则被剥夺执行, 并被送往就绪队列的末尾。 然后, 调度进程再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。 操作系(D 类)第五章作业解答 2011 第 2 页 7. 时间片轮转低级调度算法中,根据哪些因素确定时间片长短? 答:时间片轮转低级调度算法中,时间片长短要从进程个数、切换开销、系统效率、响应时 间等因素来确定。 8. 什么是剥夺式调度策略,什么是非剥夺式调度策略。 答:剥夺方式也称为抢占方式,其含义是当一个进程正在运行时,系统可基于某种原则,剥 夺已分配给它的 CPU,即强行剥夺现行进程正占用的 CPU,并把 CPU 分配给其它进程。 非剥夺方式也称非抢占方式,一旦把处理机分配给某个进程后,便让该进程一直执行, 直到该进程自动放弃, 比如执行完成或等待某事件而被阻塞,然后 CPU 被分配给其它进程。 9. 为什么多级反馈队列算法能较好地满足各种用户的需求? 答:1、对于终端型作业用户,由于终端型作业用户所提交的作业,大都属于交互型作业, 系统一般能使这些作业(进程)在第一队列(高优先级)所规定的时间片内完成, 从而可以使 终端型作业用户都感到满意。 2、对于短批处理作业用户,很短的批处理型作业如果仅在第一队列中执行一个时间片 即可完成,便可获得与终端型作业一样的响应时间。对于稍长的作业,通常也只需在第 二队列和第三队列中各执行个时间片即可完成,其周转时间仍然很短。 3、对于长批处理作业用户,用户也不必担心其作业长期得不到处理。 10. 多级反馈队列中,给不同队列以大小不同的时间片值,意义何在? 答: 高优先级队列中的进程如果未能在一个时间片内执行完, 就会被降低优先级而插入下一 级较低优先级队列的末尾; 较低优先级中的进程往往已经等待了较长的时间; 较低优先级中的进程往往是一些 CPU 耗时大户; 如果暂时没有高优先级进程需要运行,不妨让这些耗费 CPU 时间严重的低优先级进程尽量 多连续运行一些时间。 11. 在一个单道的程序设计系统中,有 3 个作业J1、J2、J3,它们到达输入井的 时间分别为 8:55、9:10、9:30,它们需要执行的时间分别为 1.5 小时、0.4 小 时、1 小时。系统在 10:00 按响应比高者优先算法对它们进行调度,请回答: 1)作业被选中执行的次序是什么? 2)三个作业被选中时的响应比分别是多少? 操作系统(D 类)第五章作业解答 2011 第 3 页 分析 响应比=作业周转时间/作业运行时间 =1+作业等待时间/作业运行时间 系统在 10:00,计算作业的响应比: 以 J1 为例,它的作业计算时间是 1.5 小时,即 90 分钟;J1 从 8:50 到达输入井,在 10: 00 时刻,J1 的等待时间为 65 分钟,因此作业 J1 的响应比为:1+65 分钟/90 分钟=1.72 同理,J2:1+50 分钟/24 分钟=3.08 同理,J3:1+30 分钟/60 分钟=1.5 因此按照响应比高者优先算法,优先调度 J2。 在 10:24,J2 完成。这时计算J1、J3 的响应比: J1:1+(65+24)分钟/90 分钟=1.98 J3:1+(30+24)分钟/60 分钟=1.9 按照响应比高者优先算法,优先调度 J1。 在 11:54,J1 完成,系统调度 J3, J3 的响应比为 1+(30+24+90)分钟/60 分钟=3.4 因此,作业被选中执行的次序是 J2、J1、J3。 三个作业被选中时的响应比分别是:J1,1.98;J2,3.08;J3,3.4。 解: (1)作业被选中执行的次序是 J2、J1、J3。 (2)三个作业被选中时的响应比分别是:J1,1.98;J2,3.08;J3,3.4。 操作系统(D 类)第五章作业解答 2011 第 4 页 12. 什么是中级调度?为什么要引入中级调度? 答: 中级调度又称交换调度, 或中程调度。 一般出现在分时系统并具有虚拟存储器的系统中, 决定主存储器中容纳哪些进程。将那些暂时不能运行的进程从物理内存交换至外存(硬盘)上 等待, 进状态成为驻外存就绪状态或挂起状态。 当它们重新又具备运行条件且有空闲内存 时,由中级调度来把它们重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进 一步的进程调度。 引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量,短期调整和平衡系统 负荷。 13. 叙述衡量一个处理机调度算法好坏的主要标准。 答:从面向用户的角度,衡量调度策略的指标主要有: 1、周转时间,一个作业被提交给计算机系统至该作业被执行完毕所需的时间。 2、 响应时间, 用户向计算机系统发出命令后到计算机把相应的结果返回给用户的时间。 3、公平性,不因作业或进程本身的特性而是前述指标过分恶化。 4、优先级,指可以是关键任务优先完成,以达到更好的指标。 5、截止时间的保证,指能否确保作业最迟在开始截止时间之前投入运行,能否确保作 业最迟在结束截止时间之前完成运行。 从面向系统的角度,衡量调度策略的指标主要有: 1、吞吐量,单位时间内所完成的作业数。 2、处理机利用率,处理机利用率越高,处理机的等待时间就越少,系统性能也就越好。 3、其它设备的利用率,要提高其它设备的利用率,就要求系统对各种设备能均衡使用, 实现对各类资源的平衡利用。 从调度算法本身的角度,衡量调度策略的指标主要有: 1、调度算法是否易于实现 2、调度算法的执行开销 14. 叙述作业调度和进程调度的关系。 答:作业调度和进程调度都属于处理机调度。作业调度是处理机管理的高级形式,它的主要 功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业。 进程调度 是处理机管理的低级形式,它的主要功能是根据一定的算法将 CPU 分派给就绪队列中的一 个进程。 操作系统(D 类)第五章作业解答 2011 第 5 页 操作系统中作业的状态主要有:提交、后备、执行、完成,进程的状态主要有等待、就 绪、执行。作业调度和进程调度的转换关系见下图。 进程调度 提交 后备 执行 就绪 作业调度 执行 完成 等待 作业调度 作业的状态及其转换 15. 若有一组作业J1,~,Jn,其执行时间依次为S1,~,Sn。如果这些作业同 时到达系统中,并在一台单CPU处理机上按单道方式执行。试找出一种作业 调度算法,使得平均作业周期时间最短。 答: 首先, n 个作业按执行时间从小到大重新进行排序, 对 则对 n 个作业: J1’, , , 创 … Jn’ 建的运行时间满足:S1’≤S2’≤……≤S (n-l )’≤ Sn’。那么有: T=[S1’+(S1’+S2’)+( S1’+S2’+S3’)+…+( S1’+S2’ +S3’+…+Sn’)]/n =[n*S1’+(n-1)*S2’ +(n-2)*S3’ +…+Sn’]/n =( S1’+S2’ +S3’+…+Sn’)-[0*S1’+1*S2’+2*S3’+…+(n-1)Sn’]/n 由于任何调度方式下, S1’+ S2’+ S3’+…+Sn’为一个确定的数, 而当 S1’≤S2’≤…≤ S( n - 1 )’≤Sn’时才有:0*S1+1*S2+2*S3+…(n-1)Sn 的值最大,也就是说,此时 T 值最小。 所以,按短作业优先调度算法调度时,使得平均作业周转时间最短。 16. 有 5 个待运行的作业,各自预计运行时间分别是:9、6、3、5 和x,采用哪 种运行次序使得平均响应时间最短? 答:按照最短作业优先的算法可以使平均响应时间最短。x 取值不定,按照以下情况讨论: 操作系统(D 类)第五章作业解答 2011 第 6 页 17. 分析静态优先级和动态优先级调度算法各自的优缺点。 答:静态优先级法虽简单易行,但不精确。因为,在确定优先级时所依赖的特性将随进程的 执行速度而改变,若能随时修改进程优先级,将可获得更好的调度性能。此外,该算法可能 使某些进程处于长期等待状态。 动态优先级是基于某种原则,使进程的优先级随时间而改变,即在创建进程时赋予的优 先级,在进程运行过程中可以自动改变,以便获得更好的调度性能,但会增加额外的系统开 销。 19. 假定执行表中所列作业, 作业号即为到达顺序, 依次在时刻 0 按次序 1 、 、 2 3 、4 、5 进入单处理器系统。 (1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非抢占优先权 调度算法算出各作业的执行先后次序(注意优先权高的数值小); (2)计算每种情况下作业的平均周转时间和平均带权周转时间。 (3)对所有作业而言,哪种调度算法具有最小平均等待时间。 作业号 执行时间 优先权 1 8 3 2 1 1 3 2 3 4 1 4 5 5 2 ( 1 )采用 FCFS 算法调度作业,运作情况: 执行次序 执行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间 1 2 3 4 5 8 1 2 1 5 0 8 9 11 12 0 8 9 11 12 8 9 11 12 17 8 9 11 12 17 1 9 5.5 12 3.4 作业平均周转时间 作业平均带权周转时间 最小平均等待时间 T=(8+9+11+12+17)/5=11.4 W=(1+9+5.5+12+3.4)/5=6.18 S=(8+9+11+12)/5=8 ( 2 )采用时间片轮转算法调度作业,若令时间片长=l ,各作业执行次序为:1 、2 、3 、 4 、5 、l 、3 、5 、1 、5 、1 、5 、1 、5 、1 、l 、l 。 作业 执行时间 等待时间 完成时间 周转时间 带权周转时间 1 2 3 4 5 8 1 2 1 5 9 1 5 3 9 17 2 7 4 14 17 2 7 4 14 2.125 2 3.5 4 2.8 操作系统(D 类)第五章作业解答 2011 第 7 页 作业平均周转时间 作业平均带权周转时间 最小平均等待时间 T=(17+2+7+4+14)/5=8.8 W=(2.125+2+3.5+4+2.8)/5=2.885 S=(9+1+5+3+9)/5=5.4 ( 3 )采用 SJF 算法调度作业,运作情况: 执行次序 执行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间 2 4 3 5 1 1 1 2 5 8 0 1 2 4 9 0 1 2 4 9 1 2 4 7 17 1 2 4 7 17 1 2 2 1.4 2.125 作业平均周转时间 作业平均带权周转时间 最小平均等待时间 T=(1+2+4+7+17)/5=6.2 W=(1+2+2+1.4+2.125)/5=1.705 S=(0+1+2+4+9)/5=3.2 ( 4 )采用非剥夺优先权算法调度作业,运作情况: 执行次序 执行时间 优先权 等待时间 周转时间 带权周转时间 2 5 1 3 4 1 5 8 2 1 1 2 3 3 4 0 1 6 14 16 1 6 14 16 17 1 1.2 1.75 8 17 作业平均周转时间 作业平均带权周转时间 最小平均等待时间 T=(1+6+14+16+17)/5=10.8 W=(1+1.2+1.75+8+17)/5=5.79 S=(0+1+6+14+16)/5=7.4 18. 设有进程A、B、C、D依次进入就绪队列(相隔一个时间单位) ,它们的优 先级(优先数小的优先级较高)如下表所示: 进程 A B C D CPU 时间 20 15 8 10 优先数 3 1 4 3 试问采用“先来先服务”“静态优先数法”调度算法(注:优先数小的优先级高) 、 ,选中 进程的执行次序。 解:采用先来先服务调度算法,按照进程进入就绪队列的先后次序占有 CPU,其执行次序 是 A-B-C-D。 非抢占式: 采用静态优先数法,进程 A 最先就绪,在 0 时刻先占有 CPU 运行,随后 1 时刻进程 B 进入就绪队列,2 时刻进程 C 进入就绪队列,3 时刻进程 D 进入就绪队列。由于采用静 态优先数法,不容许随时间的推移改变进程的优先级,所以当进程 A 运行结束时,系统 操作系统(D 类)第五章作业解答 2011 第 8 页 的就绪队列中有 B、C、D 三个进程,而进程 B 优先级最高,于是选中 B;这样分析下 去,进程的执行次序是 A-B-D-C。 不考虑时间片的抢占式: 采用静态优先数法,进程 A、B、C、D 依次相隔一个时间单元进入就绪队列,由于采用 静态优先数法,并采用抢占式调度,进程 A 在运行时一个时间单元之后,即出现具有更 高优先级的进程 B,所以被进程 B 所抢占,直至 B 进程结束。但是,在进程 B 结束之 前,已经有进程 C 和进程 D 到达就绪队列,因此在进程 B 结束之际,就需队列里面应 该已经有进程 A、进程 D 和进程 C,且进程 A 和进程 D 具有相同的较高的优先级。在 进程 B 结束之后,选择进程 A 运行,直至其结束。然后运行优先级较高的进程 D,待 其运行结束之后,运行进程 C。这样,进程执行次序为 A-B-A-D-C。 考虑时间片的抢占式: 采用静态优先数法,进程 A、B、C、D 依次相隔一个时间片进入就绪队列,由于采用静 态优先数法,并采用抢占式调度,进程 A 在运行时一个时间片之后,即被具有更高优先 级的 B 进程所抢占,直至 B 进程结束。但是,在进程 B 结束之前,已经有进程 C 和进 程 D 进入就绪队列,因此,在进程 B 结束之际,就绪队列里面有进程 A、进程 D 和进 程 C,进程 A 和进程 D 具有相同的较高优先级,进程 C 的优先级较低。 在进程 B 运行结束之后,由于就绪队列里面具有高优先级的进程有两个,它们的优先级 是相同的,所以依次使用时间片,直至进程 D 先于进程 A 结束运行。此后待进程 A 运 行结束之后,运行进程 C。 所 以 , 进 程 的 执 行 次 序 为 : A-B-B-B-B-B-B-B-B-B-B-B-B-B-B-B-B-A-D-A-D-A-D-A-D-A-D-A-D-A-D-A-D-A-D-A-D -A-A-A-A-A-A-A-A-A-C-C-C-C-C-C-C-C。 19. 单道批处理系统中, 下列三个作业采用先来先服务调度算法和最高响应比优 先算法进行调度,哪一种算法性能较好?请完成下表: 作业 提交时间 运行时间 1 2 3 10 : 00 10 : 10 10 : 25 开始时间 完成时间 周转时间 带权周转时间 2 : 00 1 : 00 0 : 25 平均作业周转时间= 平均作业带权周转时间 W = 答:FiFo 作业 提交时间 运行时间 开始时间 完成时间 周转时间 带权周转时间 1 2 3 10 : 00 10 : 10 10 : 25 2 : 00 1 : 00 0 : 25 10 : 00 12 : 00 13 : 00 12 : 00 13 : 00 13 : 25 2 2.83 3 120/120 170/60 180/25 操作系统(D 类)第五章作业解答 2011 第 9 页 平均作业周转时间=2.61 平均作业带权周转时间 W =3.68 HRRF 作业 提交时间 运行时间 开始时间 完成时间 周转时间 带权周转时间 1 2 3 10 : 00 10 : 10 10 : 25 2 : 00 1 : 00 0 : 25 10 : 00 12 : 25 12 : 00 12 : 00 13 : 25 12 : 25 2 3.25 2 120/120 195/60 120/25 平均作业周转时间=2.41 平均作业带权周转时间 W =3.02 可见 HRRF 比 FIFO 要好 20. 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法, 进程调度采用以优先数为基础的抢占式调度算法,在下表所示的作业序列, 作业优先数即为进程优先数,优先数越小优先级越高。 作业名 A B C D 到达时间 9:00 9:20 9:30 9:50 估计运行时间 40 分 30 分 50 分 20 分 优先数 4 2 3 5 ( 1 )列出所有作业进入内存时间及结束时间。 ( 2 )计算平均周转时间。 答:每个作业运行将经过两个阶段:作业调度(SJF 算法)和进程调度(优先数抢占式)。 另外,批处理最多容纳 2 道作业,更多的作业将在后备队列等待。 ( l ) 9 : 00 ,作业 A 到达并投入运行。 ( 2 ) 9 : 20 ,作业 B 到达且优先权高于作业 A ,故作业 B 投入运行而作业 A 在就绪队列 操作系统(D 类)第五章作业解答 2011 第 10 页 等待。 ( 3) 9 : 30 ,作业 C 到达,因内存中已有两道作业,故作业 C 进入作业后备队列等待。 ( 4 ) 9 : 50 ,作业 B 运行结束,作业 D 到达,按 SJF 短作业优先算法,作业 D 被装入内 存进入就绪队列。而由于作业 A 的优先级高于作业 D ,故作业 A 投入运行 ( 5 ) 10 : 10 ,作业 A 运行结束,作业 C 被调入内存,具作业 c 的优先级高于作业 D , 故 作业 C 投入运行。 ( 6 ) 11: 00 ,作业 c 运行结束,作业 D 投入运行。 ( 7 ) 11 : 20 ,作业 D 运行结束。 作业 进入内存时间 运行结束时间 A B C D 9:00 9:20 10:10 9:50 10:10 9:50 11:00 11:20 各作业周转时间为:作业 A 70 ,作业 B 30 作业 C 90 ,作业 D 90 。平均作业周转时间 为 70 分钟。 操作系统(D 类)第五章作业解答 2011 第 11 页 ...
View Full Document

This note was uploaded on 03/08/2012 for the course IE 310 taught by Professor Fangxinqi during the Fall '11 term at Shanghai Jiao Tong University.

Ask a homework question - tutors are online