- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 进程管理
作业3. 在测量控制系统中的数据采集任务DataCollection()时,把所有采集的数据送到一个单缓冲区,计算任务DataCompute()从该缓冲区取出数据进行计算。试写出利用信号量机制实现两任务共享缓冲区Buffer的同步算法。
方法一:
Var mutex, empty, full: semaphore:=1, 1, 0;
DataCollection:
begin
repeat
……
gather data in nextp;
wait(empty);
wait(mutex);
buffer:=nextp;
signal(mutex);
signal(full);
until false;
end
DataCompute:
begin
repeat
……
wait(full);
wait(mutex);
nextc:=buffer;
signal(mutex);
signal(empty);
compute data in nextc;
until false;
end
方法二:
Var empty, full: semaphore:=1, 0;
DataCollection:
begin
repeat
……
gather data in nextp;
wait(empty);
buffer:=nextp;
signal(full);
until false;
end
DataCompute:
begin
repeat
……
wait(full);
nextc:=buffer;
signal(empty);
compute data in nextc;
until false;
end
如下的方法三有问题吗?
Var mutex: semaphore:=1;
DataCollection:
begin
repeat
……
gather data in nextp;
wait(mutex);
buffer:=nextp;
signal(mutex);
until false;
end
DataCompute:
begin
repeat
……
wait(mutex);
nextc:=buffer;
signal(mutex);
compute data in nextc;
until false;
end 答:如果有多个DataCollection和多个DataCompute,则可能会出现多个同类进程依次操作同一数据的情况,这种情况通常是不允许的。比如,多个DataCollection依次生产了多个data,只有最后一个数据得以保留。
算法 进程名 A B C D E 平 均 到达时间 0 1 3 4 6 服务时间 5 7 3 8 2 FCFS 完成时间 5 12 15 23 25 周转时间 5 11 12 19 19 13.2 带权周转时间 1 11/7 4 19/8 19/2 5.29 SJF 完成时间 5 17 8 25 10 周转时间 5 16 5 21 4 10.2 带权周转时间 1 16/7 5/3 21/8 2 2
2. 用时间片轮转法RR调度进程A、B、C、D和E,时间片q分别为2和4,完成下面的表格(参考教材P96 图3-6)。
算法 进程名 A B C D E 平 均 到达时间 0 1 2 3 4 服务时间 6 2 5 9 8 RR
q=2 完成时间 16 4 21 28 30 周转时间 16 3 19 25 26 17.8 带权周转时间 8/3 1.5 3.8 25/9 3.25 3.25 RR
q=4 完成时间 22 6 11 26 30 周转时间 22 5 9 23 26 17 带权周转时间 22/6 5/2 9/5 23/9 26/8 2.75
3. 在银行家算法中,出现如下资源分配情况:
进程/资源 Allocation Need Available A B C A B C A B C P0
P1
P2
P3
P4 0 2 1
1 0 1
0 1 3
3 2 1
0 2 0 4 1 0
2 3 1
4 0 4
4 2 2
5 1 3 3 5 2
问:(1)该状态是否安全,如果不安全说明理由,如果安全给
文档评论(0)