77范文网 - 专业文章范例文档资料分享平台

操作系统作业题及答案(3)

来源:网络收集 时间:2018-12-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

作业二解答过程:

1、Bernstein条件(可并发执行的条件):

设R(Si)={a1,a2,…,am}表示程序Si在执行期间所需要引用(读)变量的集合---读集 W(Si)={ b1,b2,…,bn}表示程序Si在执行期间要改变(写)变量的集合---写集 如果两个程序S1和S2能同时满足下述条件,它们便能并发执行,否则不能

R(S1)∩W(S2)= {∮},W(S1)∩R(S2)={∮},W(S1)∩W(S2)={∮} (也可以写成 R(S1)∩W(S2)∪W(S1)∩R(S2)∪W(S1)∩W(S2)={∮} )

2、前趋图:

S4 S2 S1 S5 S3

3、设第i块缓冲区的公用信号量为buf[i],初值为1;

生产者进程的私用信号量为produce,初值为m; 消费者进程的私用信号量为consume,初值为0。

发送过程deposit(data)和接收过程remove(data)描述如下: Deposit(data): Begin P(produce) 选择一个空缓冲区i P(buf[i]) 送数据入缓冲区i V(consume) V(buf[i]) End Remove(data): Begin P(consume) 选择一个满缓冲区i P(buf[i]) 取缓冲区i中的数据 V(produce) V(buf[i]) End

4、(1)一次只允许一个进程进入临界区: 设s为互斥信号量,初值为1,表示有1个空闲且可用的共享临界资源 对任一进程Pi(1≤i≤k): P(s) <进入临界区> V(s) 信号量s的变化范围为[-(k-1) ,…,-1,0,1]。其中,s=1表示有1个空闲且可用的临界资源,且没有进程进入类名为s的临界区;s=0表示有1个进程在临界区中(该临界资源已被某进程占用),但无等待使用该临界资源的进程;s=-n(1≤n≤k-1,n为整数)表示有1个进程在

临界区中,且有n个进程等待使用该临界资源。 (2)一次允许m(m V(s) 信号量s的变化范围为[-(k-m) ,…,-1,0,1,…,m]。其中,s= m表示有m个空闲且可用的临界资源,且没有进程进入类名为s的临界区;s=j(1≤j<m,j为整数)表示有m-j个进程正在该临界区中,且仍有j个空闲且可用的临界资源,但无等待使用该临界资源的进程;s=0表示有m个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;s=-n(1≤n≤k-m,n为整数)表示有m个进程在临界区中,目前无空闲且可用的临界资源,且有n个进程等待使用该临界资源。

作业三:进程管理

3、 假若一个街道交通如下图所示,若有一长度大于两个路口距离的车,可以从东南西北四

个方向开来,问(1)何时会发生死锁?(2)请提出一种可预防死锁发生的简单方法。

./

4、 某超市市场科容纳100人同时购物,入口处备有篮子,每个购物者可取1只篮子入内购

物,出口处结账并归还篮子(出、入口仅容1人通过)。请试用P,V操作及信号量写出如下情况的购物同步算法:

(1)1个出入口,且一次只允许1人通过; (2)1个入口,n个出口(n≥1且为整数)。

3、设有无穷多个缓冲区和无穷多个信息,甲进程把信息逐个写入每个缓冲区,乙进程则逐个地从缓冲区中取出信息。试问: (1)两个进程间的制约关系; (2)用P,V操作写出两个进程的同步算法,并给出信号量的初值; (3)指出信号量的值的变化范围及取值的含义。

作业三解答过程:

1、(1)何时会发生死锁?

(2)请提出一种可预防死锁发生的简单方法

方向②北

方向①

路口 S1 路口 S2

路口 S3 路口 S4

方向③

方向④

设4个路口为4个资源,其信号量分别设为S1,S2,S3和S4,初值均为1,代表资源空闲可用,下面用P,V操作预防死锁问题: 方向①进程: P(S1,S2) <通过S1、S2路口> V(S1,S2) 方向②进程: P(S2,S4) <通过S2、S4路口> V(S2,S4) 方向③进程: P(S3,S4) <通过S3、S4路口> V(S3,S4) 方向④进程: P(S1,S3) <通过S1、S3路口> V(S1,S3) 信号量S1,S2,S3和S4 的变化范围均为[-∞,…,-1,0,1]。其中,S1~S4=1表示有1个空闲且可用的临界资源,且没有进程进入类名为S1~S4的临界区;S1~S4=0表示有1个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;S1~S4=-m(m为正整数)表示有1个进程正在该临界区中,目前无空闲且可用的临界资源,且有m个进程等待使用该临界资源。

2、(1)1个出入口,且一次只允许1人通过:

设超市容量信号量为S,初值为100;购物进程为Pi,购物信号量为mutex,初值为1。

购物进程Pi同步描述: P(S) P(mutex)

<进入超市并取1只篮子> V(mutex) <选购商品> P(mutex)

<结账并归还篮子> V(mutex) V(S) 信号量S的变化范围为[-m,…,-1,0,1 ,…,100] (m为正整数)。其中,S=100表示有100个空闲且可用的临界资源,且没有进程进入类名为S的临界区;s=j(1≤j<100,j为整数)表示有100-j个进程正在该临界区中,且仍有j个空闲且可用的临界资源,但无等待使用该临界资源的进程;s=0表示有100个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;s=-m (m为正整数)表示有100个进程在临界区中,目前无空闲且可用的临界资源,且有m个进程等待使用该临界资源;信号量mutex的变化范围为[-99 ,…,-1,0,1 ]。其中,……

(2)1个入口,n个出口(n≥1且为整数) 设购物进程为Pi,;超市容量信号量为S,初值为100;入口互斥信号量为mutex1,初值为1;出口互斥信号量为mutex2,初值为n。

购物进程Pi同步描述: P(S) P(mutex1)

<进入超市并取1只篮子> V(mutex1) <选购商品> P(mutex2)

<结账并归还篮子> V(mutex2) V(S) 信号量S的变化范围为[-m ,…,-1,0,1 ,…,100](m为正整数)。其中,……;信号量mutex1和mutex2的变化范围均为[-99 ,…,-1,0,1 ]。其中,…… 3、(1)两个进程间的制约关系:乙进程不能先于甲进程执行,而甲进程不受乙进程约束。 (2)设置1个信号量S,S表示甲进程写满的缓冲区的个数,S初值为0,表示缓冲区为空,则甲、乙两进程的同步算法描述为

甲进程: 乙进程: i=0 j=0 i=i+1 j=j+1 <写入第i个缓冲区> P(S) V(S) <读出第j个缓冲区>

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统作业题及答案(3)在线全文阅读。

操作系统作业题及答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/334381.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: