- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
P、V原语操作的几道的习题
一个多任务单处理机系统,PCB表的规模是100行,则任一时刻,最多有( )个进程处于运行态,最多可能有( )个进程处于就绪态,最多可能( )有个进程处于等待态。
有四个同类资源组成的系统,有三个进程共享这些资源,每个进程至多需要二个资源,是否会发生死锁?;设系统中有N(N=3)个进程,考虑下面情况:
没有运行进程,没有就绪进程,N个进程处于等待状态。
没有运行进程,有一个就绪进程,N-1个进程处于等待状态。
有一个运行进程,没有就绪进程,N-1个进程处于等待状态。
有一个运行进程,一个就绪进程,N-2个进程处于等待状态。
有一个运行进程,N-1个就绪进程,没有任何进程处于等待状态。;习题1;缓冲区1;PC()
{ While (1)
{ P(full2);
从缓冲区2
取一个记录;
V(empty2);
打印记录;
}
}
;公共汽车上,司机和售票员的活动分别为:; 司机 P1 售票员 P2 REPEAT REPEAT 启动 关门 正常运行 售票 到站停 开门 UNTIL FALSE UNTIL FALSE ;设信号量S1:是否允许司机启动汽车,初值为0
S2:是否允许售票员开门,初值为0;习题3;设三个信号量,
S:表示盘子是否为空,初值为1
So:表示盘中是否有桔子,初值为0
Sa:表示盘中是否有苹果,初值为0;
int s=1;int sa=0;int so=0;
main(){
cobegin
father();
son();
daughter();
coend
};father()
{ While (1)
{ P(s);
将水果放入盘中;
if (放入的是桔子)
v(so);
else v(sa);
}
}
;习题四:图书馆问题;reader(int i)
{
enter();
阅读;
outer()
};习题五;设2个信号量来控制A、B产品的存放数量。
设SA表示当前允许A产品比B产品多入库的数量;即在当前库存量和B产品不入库的情况下,还可以允许SA个产品入库;(M-1)
SB表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许SB个产品入库;(N-1)
当往库中存放一个A产品时,则允许存入B产品的数量也增加1;当往库中存放一个B产品时,则允许存入A产品的数量也增加1;;Int mutex=1;
Int sa=M-1;
Int sb=N-1;
Main() { cobegin ProcessA; ProcessB; coend };习题六;设置三个信号量:
Empty[I]:表示该缓冲区单区是否为空,初值为1
full[I]:表示该缓冲区单区是否为满,初值为0
modify[I]:表示该缓冲区单区是否已被修改,初值为0
Semaphore empty[1..N]=1;
Semaphore full[1..N]=0;
Semaphore modify[1..N]=0
i,m,n=0;
Main()
{ cobegin
R();
M();
P();
coend
};R(int i)
{ while (1)
{ Read;
P(empty[i]);
Store;
V(full[i]);
i=(i+1) mod N;
}
}
;0;PR:
Begin
读一个字符?ch;
P(avail)
P(mutex)
取出一个空的缓
冲区i;
ff[i] ? true
B[i]?ch;
mf[i] ? false;
V(mutex);
V(SM);
End;;习题七;
mutex,westeast,eastwest:semaphore
mutex,westeast,eastwest=1,
eastcount,westcount:integer
eastcount:=0;westcount:=0
cobegin
eas
文档评论(0)