首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
admin
2012-06-21
135
问题
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。
选项
答案
定义信号量S1控制P1与P2之间的同步;S2控制P1与P3之间的同步;:empty控制生产者与消费者之间的同步;mutex控制进程间互斥使用缓冲区。程序如下: Var s1=0,s2=0,empty=N,mutex=1; Parbegin P1:begin X=produce(); /*生成一个数*/ P(empty); /*判断缓冲区是否有空单元*/ P(mutex); /*缓冲区是否被占用*/ Put(); If x%2==0 V(s2); /*如果是偶数,向P3发出信号*/ else V(s1); /*如果是奇数,向P2发出信号*/ V(mutex); /*使用完缓冲区,释放*/ end P2:begin P(s1); /*收到P1发来的信号,已产生一个奇数*/ P(mutex); /*缓冲区是否被占用*/ Getodd(); Countodd():=countodd()+1; V(mutex); /*释放缓冲区*/ V(empty); /*向P1发信号,多出一个空单元*/ end P3:begin P(s2) /*收到P1发来的信号,已产生一个偶数*/ P(mutex); /*缓冲区是否被占用*/ Geteven(); Counteven():=counteven()+1; V(mutex); /*释放缓冲区*/ V(empty); /*向P1发信号,多出一个空单元*/ end Parend
解析
转载请注明原文地址:https://www.kaotiyun.com/show/HNxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
在捍卫和传播生物进化论方面做出了贡献的是()。
20世纪30年代的国联的所作所为,反映的实质问题是国联()
抗战以来文艺战线上思想斗争中最重要的问题是()。
反映查理大帝进攻阿拉伯人控制的西班牙的文学作品是()。
下面条约没有涉及德国的赔款问题的是()。
关于“尊王攘夷”运动,不正确的说法是()。
第二次世界大战期间,苏、美、英三国首脑达成的协议中未能实现的是()。
周人重视婚姻,对婚礼尤为讲究。周代的婚礼有六项程序,即:①纳征②问名③纳采④请期⑤亲迎⑥纳吉下列选项顺序排列正确的是()
明成祖时期大力推崇理学,以国家力量编写了几部理学的大部头著作,下面不属于其中的是()。
某计算机采用微程序控制方式,微指令字长32位,采用字段直接编码的控制方式,共有55个微命令,可分为6个互斥组,分别包含1、3、7、8、12、24个微命令。另外,该机共有5个可判定的外部条件,采用断定方式形成后续微指令地址。(1)设计该机微指令的格式,
随机试题
白质前连合
病毒潜伏感染的特点是
诊断考虑治疗疗程为
依我国法律规定,在我国法院受理的涉外离婚案件审理过程中,认定婚姻是否有效应当以下列哪一项为准据法?
甲带其子乙(5岁)在公园玩耍时,乙因与同龄儿童丙争抢滑梯,被丙从1米高的平台上推下,胳膊上蹭了一道血印。乙与丙扭打在一起,甲见状急忙赶来制止,但丙不\依不饶并在甲手臂上咬了一口,甲顺于将乙从20厘米台阶上推下,乙头部着地,致使脑部受损而导致智力低下。甲的行
Excel单元格中可输入公式,但单元格真正存储的是其计算结果。()
提出心理社会发展理论的心理学家是()
下列事实中,构成侵害名誉权的是()。
个体经济在性质上不同于私营经济,是因为它()。
窗体上有一个名称为Combo1的组合框,一个名称为Command1的命令按钮。要求编写程序,在组合框中输入一个字符串,当单击命令按钮时,将该字符串逐项与组合框中原有列表项进行比较,若有相同列表项,则将其删除;若没有相同列表项,则将其添加到组合框中。现有人编
最新回复
(
0
)