1 / 29
文档名称:

计算机操作系统习题课.ppt

格式:ppt   大小:1,267KB   页数:29页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机操作系统习题课.ppt

上传人:电离辐射 2022/4/27 文件大小:1.24 MB

下载得到文件列表

计算机操作系统习题课.ppt

文档介绍

文档介绍:计算机操作系统****题课
2021
Your content to play here, or through your copy, paste in this box, and select onl
V(Sc);
V(Sd)
//释放b,c,d的通讯信号,允许他们读取
Until False
B: Repeat
P(Sb);
从缓冲区取消息;
V(Sab)
Until False
其它可以参考B类似
6、有n+1个进程p1, p2, ...pn 和 Q:
(1) p1,...pn通过同一个缓冲区各自不断地向Q发送消息, Q不断地取消息, 它必 须取走发来的每一个消息. 刚开始时缓冲区为空. 试用P、V操作正确实现之.
(2) 若缓冲区个数增至k个, 试用P、V操作实现正确的通讯.
答:(1) n+1个进程P1, P2, ...,Pn 和 Q ,一个缓冲区。
Pi ( i=1,..,n):
Repeat
生产消息;
P(S1);
向缓冲区送消息;
V(S2)
Until False
Q: Repeat
P(S2);
从缓冲区取消息;
V(S1);
处理消息;
Until False
初始化: S1=1, S2=0
(2) k个缓冲区;
初始化: S1=k;S2=0;mutex=1;
l=0;ll=0
Pi ( i=1,..,n):
Repeat
生产消息;
P(S1);
P(mutex);
向BUFFER[l]中送消息;
l:=(l+1) mod k;
V(mutex);
V(S2)
Until False
Q: Repeat
P(S2);
P(mutex);
从BUFFER[ll]取消息;
ll:=(ll+1) mod k;
V(mutex);
V(S1)
Until False

7. 为什么说P、V操作必须设计成原语(即同一信号量上的P、V操作必须互斥)?
答:略
,都需要5个资源,该系统不发生死锁的最少资源数是多少个?
解答:
保证其中1个进程能够顺利执行完,则应该是5个资源;
其它剩余3个进程能够在第1个进程执行完毕,释放资源之后运行完毕,则他们应该各自保持4个资源,即3*4=12个资源。
所以最少资源是5+12=17.
如果是16个,则可能会出现造成4个进程都各自保持4个资源,成为死锁状况。
,测得各相关成分的利用率是:cpu为20%,%,其它I/O设备是5%,试问,如下那种措施可以改进cpu的利用率,简要说明理由。
(1)增加一个更快的cpu;(2)增加磁盘交换区的容量;
(3)增加多道程序的度数;(4)减少多道程序的度数;
(5)增加其它更快速度的I/O设备。
解答:在存储分配的过程中,该系统显然在分页方面花费了大量的时间,若减少多道程序的度数,则驻留进程的缺页中断率会降低,且改进了cpu的利用率。改进性能的另外一个方法是获得更多的物理存储器或使用更加快速的磁盘交换区。所以,只有措施(4)可以提高cpu的利用率。
10、假设一个电影院最多可以容纳100人看电影,观众进入和离开电影院时,都必须在影院门口的一个刷卡机上刷卡登记(进入或离开都需要)。假设每次只允许一个人刷卡进行登记,请使用p、v原语写出观众进程的同步算法。

解答:
设读者有任意个,但可以并行看电影的只能是100人,设信号量S可以代表空座位数,其值为100;
另设信号量mutex,代表刷卡登记这一共享临界资源,初始值为1。
.观众进程如下:
Proces