操作系统解答题练习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统解答题练习

最高响应比优先调度算法:

综上所述,最高响应比调度算法性能较好。

4. 如果限制为两道的多道程序系统中,有4个作业进入系统,其进入系统时刻、估计运行时间为下图所示。系统采用SJF作业调度算法,采用SRTF进程调度算法,请填充下面表格。

参考答案:

5. 有一个4道作业的操作系统,若在一段时间内先后到达6个作业,其提交时刻和估计运行时间为下表所示:

系统采用剩余SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被剩余时间更短的作业所抢占。

(1)分别给出6个作业的执行时间序列,即开始执行时间、作业完成时间、作业周转时间。

(2)计算平均作业周转时间。

参考答案:

6. 有一个具有三道作业的多道批处理系统,作业调度采用短作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法。在下表所示的作业序列中,作业优先数即为进程优先数,数越小则优先级

越高。

试填充下表:

参考答案:

1、(2分)生产者消费者的互斥同步问题叙述如下:

生产者生产产品,放入有n个缓冲区的缓冲池中,每个缓冲区只能放一个产品。消费者从缓冲池中取产品消费,不允许从空缓冲区中取

产品。有多个生产者进程与多个消费者进程并发进行,任何时刻只允许一个进程访问缓冲池。生产者进程和消费者进程分别从缓冲池中的同一位置开始,顺序循环地使用缓冲池,放产品或取产品。当缓冲池的n个缓冲区都满时,生产者进程必须在缓冲池外等待。当缓冲池的n个缓冲区都空时,消费者进程必须在缓冲池外等待。

使用记录型信号量对生产者消费者问题的解答如下:

设置整型量n,设定缓冲池(临界资源)中的缓冲区总数

设置互斥信号量mutex,初值1,记录对缓冲池的互斥访问

设置信号量empty,初值n,记录缓冲池中空缓冲区数

设置信号量full,初值0,记录缓冲池中满缓冲区数

生产者和消费者的并发程序如上面的流程图所示。

请回答下面的问题

(1)、(1分)如果将生产者进程中的两个P操作语句(S2和S3)的

执行次序反过来,可能会造成死锁。试分析其原因,发生死锁时缓冲池中的缓冲区有几个是满的?

参考答案:n个

(2)、(1分)如果将消费者进程中的两个P操作语句(X1和X2)的执行次序反过来,可能会造成死锁。试分析其原因,发生死锁时缓冲池中的缓冲区有几个是满的?

参考答案:0个(或n个全是空的)

2、(5分)设两个进程并发访问一个打印机分配表,A进程申请打印机,从打印机分配表读入状态字,进程B向打印机分配表写入状态字。这两个进程对打印机分配表的操作是互斥的,用P/V操作表示进程A和B的操作过程。

参考答案:

设互斥信号量S=1

进程A :进程B:

…… ……

P(S); P(S);

读入打印机分配表;修改打印机分配表;

V(S);V(S);

…… ……

1、(8分)设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5),A资源的数量17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如表所示。系统采用银行家算法来避免死锁。

请回答下列问题:

(1)T0时刻是否为安全状态?若是,请给出安全序列。

(2)若进程P4请求资源(2,0,1),能否实现资源分配?为什么?(3)在(2)的基础上,若进程P1请求资源(0,2,0),能否实现

资源分配?

参考答案:

(1)T0时刻为安全状态。其中的一个安全序列为(P4,P5,P3,P2,P1)(其他可能的安全序列有:(P4,P5,X,X,X),(P4,P2,X,X,X),(P4,P3,X,X,X),(P5,X,X,X,X))(2)可以为P4分配资源,因为分配后的状态还是安全的,其安全序列的分析如下表:

| Work | Need | Allocation | Work+Allocation | Finish

| A B C | A B C | A B C | A B C

P4 | 0 3 2 | 0 2 0 | 4 0 5 | 4 3 7 | True

P5 | 4 3 7 | 1 1 0 | 3 1 4 | 7 4 11 | True

P1 | 7 4 11 | 3 4 7 | 2 1 2 | 9 5 13 | True

P2 | 9 5 13 | 1 3 4 | 4 0 2 | 13 5 15 | True

P3 | 13 5 15 | 0 0 6 | 4 0 5 |17 5 20 | True

(3)进程P1再请求资源(0,2,0),则不能为之分配资源。

2、(15分)考虑一个系统在某个时刻的状态如表所示。

应用银行家算法回答下列问题:

(1)填写Need矩阵的内容

(2)系统是否处于安全状态?

(3)如果进程P1发出请求(0,4,2,0),这个请求能否被满足?

参考答案:

(1)根据银行家算法,可列出Need矩阵如下表:

进程| Need | Allocation | Max | Available

| A B C D | A B C D | A B C D | A B C D

P0 | 0 0 0 0 | 0 0 1 2 | 0 0 1 2 | 1 5 2 0

P1 | 0 7 5 0 | 1 0 0 0 | 1 7 5 0 |

P2 | 1 0 0 2 | 1 3 5 4 | 2 3 5 6 |

P3 | 0 0 2 0 | 0 6 3 2 | 0 6 5 2 |

P4 | 0 6 4 6 | 0 0 1 4 | 0 6 5 6 |

(2)利用安全性算法,列出下表:

进程| Work | Need | Allocation | Work+Allocation | Finish

| A B C D | A B C D | A B C D | A B C D |

P0 | 1 5 2 0 | 0 0 0 0 |0 0 1 2 | 1 5 3 2 | true

P1 | 1 5 3 2 | 1 0 0 2 | 1 7 5 0 | 2 12 8 2 | true

P2 | 2 12 8 2 | 0 0 2 0 |0 6 3 2 | 2 18 11 4 | true

相关文档
最新文档