操作系统第三章习题

1. 高级调度与低级调度的主要任务是什么? 为什么要引入中级调度?

答:高级调度的主要任务:用于决定把外存上处于后背队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,再将新创建的进程插入就绪队列上,准备执行。低级调度的主要任务:用于决定就绪队列中的哪个进程获得处理机,然后再由分派程序执行将处理机分配给该进程的具体操作。

引入中级调度的主要目的是为了提高系统资源的利用率和系统吞吐量。

 

2.  在作业调度中应如何确定接纳多少个作业和接纳哪些作业?

答:接纳多少个作业取决于多道程序度,即允许多少个作业同时在内存中运行。

   接纳哪些作业取决于所采用的调度算法。最简单的是先来先服务调度算法,较常用的是短作业优先调度算法和基于作业优先级的调度算法。

 

3.  试比较FCFS和SPF两种进程调度算法。

答:相同点:两种调度算法都是既可用于作业调度,也可用于进程调度。

   不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将它们调入内存,分配资源,创建进程,然后插入到就绪队列中。该算法有利于长作业,不利于短作业。SPF调度算法每次调度都是从后备队列中选择一个或者若干个估计运行时间最短的作业,将它们调入内存中运行,该算法有利于短作业,不利于长作业。

 

4. 在时间片轮转法中,应如何确定时间片的大小?

答:时间片应略大于一次典型的交互需要的时间。一般考虑三个因素:系统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。

 

5. 何谓死锁? 产生死锁的原因和必要条件是什么?

答:死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。  

产生原因:1.竞争不可抢占性资源引起死锁 2.竞争可消耗资源引起死锁 3.进程推进顺序不当引起死锁。

必要条件:1.互斥条件 2.请求和保持条件 3.不可抢占条件 4.循环等待条件

 

6. 解决死锁的方法有哪些?

答:有四种方法处理死锁。

  1. 预防死锁。通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个来预防产生死锁。
  2. 避免死锁。在资源的动态分配过程中,用某种方法防止系统进入不安全状态,从而避免发生死锁。
  3. 检测死锁。通过检测机构及时地检测出死锁的发生,然后采取适当的措施,把进程从死锁中解脱出来。
  4. 解除死锁。当检测到系统中已发生死锁时,就采取相应措施,将进程从死锁状态中解脱出来。常用的一些方法就是撤销一些进程,回收它们的资源,将它们分配给已处于阻塞状态的进程,使其能继续运行。

 

7. 实时系统中采用的调度算法可以有如下几种:

1)非抢占优先权调度算法。

2)立即抢占的优先权调度算法。

3)时间片轮转调度算法。

4)基于时钟中断抢占的优先权调度算法、

按实时要求的严格程度由低到高的顺序是什么,请写出分析过程。

答:由低到高的顺序是3142.

   时间片轮转调度算法。一般用于进程调度。每次调度把CPU分配给队首进程并令其执行一个时间片,当时间片用完时,由一个计时器发出一个时钟中断请求,该进程被停止,并被送往就绪队列末尾,依次循环。3对实时要求最低。

非抢占优先权调度算法。将处理机分配给就绪队列中优先权最高的进程后,该进程就会一直执行下去,直到其完成。1对实时要求比3高。

基于时钟中断抢占的优先权调度算法。实时任务到达后,如果该任务的优先级别高于当前任务,等时钟中断到来时才剥夺当前任务的执行,将处理机分配给新到的最高优先权任务。4的实时要求比1高。

   立即抢占的优先权调度算法。要求操作系统具有快速响应外部时间中断的能力,一旦出现外部中断,只要当前任务未处于临界区便立即剥夺当前任务的执行,把处理机分配给请求中断的紧迫任务。2对实时要求最高。

发布了14 篇原创文章 · 获赞 3 · 访问量 1396

猜你喜欢

转载自blog.csdn.net/L704198260/article/details/104188876
今日推荐