- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章作业2.doc
10.是说明同步和互斥这两个概念有什么区别?
进程同步:
进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个线程,在运行过程中, 某进程可能要在某些同步点上等待另一伙伴(协作进程)为它提供消息, 在未获得消息之前, 该进程处于等待状态, 获得消息后被唤醒进入就绪态, 此后, 才能继续运行。这种关系可用“进程-进程”来描述。
进程互斥进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。“进程-资源-进程”来描述。
11.什么是临界资源和临界区?对临界区管理的基本要求是什么?
临界资源(互斥资源):
系统中一次只允许一个进程访问的资源。这些资源既包括I/O设备, 如打印机等资源, 也包括软件资源, 如共享变量、共享文件等。
临界区(互斥区):
并发执行的进程中, 访问临界资源的必须互斥执行的程序段叫临界区。
对临界区管理的基本要求:
当有若干进程要求进入它们的临界区时,应在有限时间内使一进程临界区。
B.每次最多有一个进程处于临界区内。
C.进程在临界区内逗留应在有限时间范围内。
13.试给出P、V操作的定义。如何用P、V操作实现进程间的互斥,并说明信号量的物理意义?
P操作原语的定义:
P(S):顺序执行下述两个动作:
信号量的值减1,即S=S-1;
如果S≥ 0,则该进程继续执行;
如果S0,则把该进程的状态设置为阻塞态,把它相应的PCB放入相应队列中,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)
Procedure P(Var S:Semaphore)
begin S:=S-1;
if S0 then W(S)
end;
V操作原语的定义:
V(S)顺序执行下述两个动作:
S值加1,即S=S+1
如果S0,则该进程继续运行;
如果S≤ 0,则唤醒等待信号量S阻塞队列中的头一个进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
Procedure S(Var S:Semaphore)
begin S:=S+1;
if S=0 then R(S)
end;
用P、V操作实现进程间的互斥
设S为两进程互斥的公用信号量,初值为1,表明该临界资源未被占用。只需要把临界区的程序设置于P(S)和 V(S)之间,即可实现两进程的互斥。
进程P1 进程P2
P(S) P(S)
S1 S2
V(S) V(S)
其中的S1、S2是两互斥的程序段,即P1、P2的临界区
信号量的物理意义
在操作系统中,信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P、V操作来改变。
14.如何用P、V操作实现进程间的同步?在同步和互斥中,信号量初值的设置有何不同?
用P、V操作实现进程间的同步
信号量初值为0,两个进程之间的同步模型如下:
进程P1 进程P2
L1:P(S) L2:V(S)
在这种同步操作中,进程p1受到进程P2的制约,而进程P2却不受进程P1的制约,所以是非对称的。
在同步中,信号量初值的设置为0;在互斥中,信号量的初值设置为1。
15.试分析生产者—消费者问题的同步过程,并写出相应程序?
设三个信号量:
1、信号量S,初值为1,表示没有产品进入临界区,用于互斥;
2、信号量n1,表示可用缓冲区个数,初值为k
3、信号量n2,表示产品个数,初值为0
生产者—消费者进程描述如下:
问题分析:
当生产者生产出一个产品,对信号量n1进行p操作,n1减1,表示申请占用一个缓冲区。只有n1大于等于0则继续执行,当n1小于0是进程阻塞。若n1大于等于0,再对S进行p操作,此时S=0,该进程继续执行,产品放入缓冲区,再对S进行v操作,此时S=1,继续执行,对产品个数n2进行v操作,即产品个数加1.
当有消费者消费产品时,对产品个数n2进行p操作,即产品个数减1,只有n2大于等于0则继续执行,当n2小于0是进程阻塞。若n,2大于等于0,继续对S进行p操作,此时S=0,产品从缓冲区取出,再对S进行v操作,S=1,继续执行,对缓冲区个数进行v操作,即缓冲区个数加1.
相应程序:
begin
B: array[0..n-1]of integer;
P,R: integer;
S,Sn,So: semaphore;
p:=R:=0
S:=1; Sn:=n; So:=0;
cobegin
process pr
您可能关注的文档
最近下载
- 2024官方兽医考试更新题库及答案.doc
- 八年级数学平方差公式20题(含答案).doc
- 市政工程分部分项划分表(全套)必威体育精装版版.docx
- (中职)Access数据库应用技术教案课题: 任务6 创建操作查询.docx
- 通达信筹码峰左右画线主图通达信指标公式源码.docx
- 《GBT 24421.2-2023服务业组织标准化工作指南 第2部分:标准体系构建》必威体育精装版解读.pptx
- GB 55009-2021 燃气工程项目规范.pdf
- 法医临床学试题.docx VIP
- 河北对口单招第十类职业适应性测试(计算机)-第一章计算机基础知识课件ppt.pptx VIP
- 九年级语文下册 第8课《假如我有九条命》课件 上海五四制版.ppt VIP
文档评论(0)