操作系统习题.ppt

上传人:b****1 文档编号:1289705 上传时间:2022-10-20 格式:PPT 页数:19 大小:81.50KB
下载 相关 举报
操作系统习题.ppt_第1页
第1页 / 共19页
操作系统习题.ppt_第2页
第2页 / 共19页
操作系统习题.ppt_第3页
第3页 / 共19页
操作系统习题.ppt_第4页
第4页 / 共19页
操作系统习题.ppt_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

操作系统习题.ppt

《操作系统习题.ppt》由会员分享,可在线阅读,更多相关《操作系统习题.ppt(19页珍藏版)》请在冰豆网上搜索。

操作系统习题.ppt

习题,1、有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0。

试问P1、P2并发执行后,x、y、z的值各为多少?

P1:

P2:

beginbeginy:

=1;x:

=1;y:

=y+2;x:

=x+1;V(S1);P(S1);z:

=y+1;x:

=x+y;P(S2);V(S2);y:

=z+yz:

=z+x;end.end.,现对进程语句进行编号,以方便描述。

P1:

P2:

beginbeginy:

=1;x:

=1;y:

=y+2;x:

=x+1;V(S1);P(S1);z:

=y+1;x:

=x+y;P(S2);V(S2);y:

=z+yz:

=z+x;end.end.,、和是不相交语句,可以任何次序交错执行,而结果是唯一的。

接着无论系统如何调度进程并发执行,当执行到语句时,可以得到x=5,y=3。

按Bernstein条件,语句的执行结果不受语句的影响,故语句执行后得到z=4。

最后,语句和并发执行,最后结果为:

语句先执行,再执行:

x=5,y=7,z=9。

语句先执行,再执行:

x=5,y=12,z=9。

2、在UNIX系统中运行以下程序,最多可产生出多少进程?

画出进程家属树。

main()fork();/*pc(程序计数器),进程Afork();fork();,解:

首先采用fork()创建的子进程,其程序是复制父进程的;其次,父、子进程都从调用后的那条语句开始执行。

当进程A执行后,派生出子进程B,当进程A、B执行后,各派生出子进程C、D,当进程A、B、C、D执行后,各派生出子进程E、F、G、H。

这时进程A共派生出7个子进程。

3、有一个仓库,可以存放A和B两种产品,但要求:

(1)每次只能存入一种产品(A或B);

(2)NA产品数量-B产品数量M。

其中,N和M是正整数。

试用P、V操作描述产品A与产品B的入库过程。

分析,本题给出的第一个条件是临界资源的访问控制,可用一个互斥信号量解决该问题。

第二个条件可以分解为:

NA产品数量B产品数量A产品数量B产品数量M也就是说,A产品的数量不能比B产品的数量少N个以上,A产品的数量不能比B产品的数量多M个以上。

解:

在本题中,可以设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许sa个A产品入库;sb表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许sb个B产品入库。

初始时,sa为M1,sb为N1。

当往库中存放入一个A产品时,则允许存入B产品的数量也增加1;当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。

varmutex:

semaphore=1;/*互斥信号量*/sa,sb:

semaphore;sa=M-1;sb=N-1;mian()while

(1)取一个产品;if(取的是A产品)P(sa);P(mutex);将A产品入库;V(mutex);V(sb);,else/*取的产品是B*/P(sb);P(mutex);将B产品入库;V(mutex);V(sa);,4、公路上有一座桥,该桥一次只允许一辆汽车在桥上行驶。

当桥上有汽车时,其它汽车不能上桥。

试问:

这是一个同步问题还是互斥问题?

用信号量和P、V操作描述并发过程的活动。

(1)这一问题是互斥问题。

桥是汽车进程互斥使用的资源。

(2)每了辆汽车对应一个进程,进程数量不确定。

用Pi(i=0,1,2,)表示汽车进程;设互斥信号量s,其初值为”1”。

汽车进程Pi的过程可描述如下:

汽车进程Pi(i=1,2,3)P(S)汽车上桥在桥上行驶汽车下桥V(S),5、有一阅览室,读者进入时必须先在一张登记表上进行登记,该表为每一个座位列出一个表目,包括座位号、姓名,读者离开时要撤消登记信息。

阅览室有180个座位,试问:

为描述读者的动作,应编写几个程序?

应设置几个进程?

进程和程序之间的对应关系如何?

试用P、V操作描述这些进程间的同步关系。

解:

(1)每个读者都可视为一个进程,有多少个读者就有多少个进程,这些进程称为读者进程,设为Pi(I=0,1,2,)。

读者进程Pi执行的程序包括:

登记、阅览、撤消。

每个读者的活动都相同,所以其程序也相同。

进程与程序之间的关系是:

各读者进程共享同一个程序。

(2)在读者进程执行的程序中,对登记与撤消都需要互斥执行,其信号量S1的初值为1;而对进入阅览室需互斥执行,信号量s2的初值为180。

读者进程PiP(S2)P(S1)登记V(S1)阅览P(S1)撤消V(S1)V(S2),6、在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。

它们的执行轨迹如下:

Job1:

I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)Job2:

I1(20ms)、CPU(20ms)、I2(40ms)Job3:

CPU(30ms)、I1(20ms)如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但不抢占I1和I2。

试求:

(1)每个作业从投入到完成分别所需的时间。

(2)从投入到完成CPU的利用率。

(3)I/O设备利用率。

答:

画出三个作业并行工作图如下(图中着色部分为作业等待时间):

Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。

CPU使用时间为10+10+10+10+20+10=70。

所以CPU利用率为70/90=77.8%。

设备I1空闲时间段为:

20ms至40ms,故I1的利用率为70/90=77.8%。

设备I2空闲时间段为:

30ms至50ms,故I2的利用率为70/90=77.8%。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1