首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
设由N个缓冲区组成缓冲池,每个缓冲区可以存放一个消息,有两个进程:生产者(producer)和消费者(consumer),且只要缓冲池未满,生产者便可以将消息送人缓冲池,而只要缓冲池未空,消费者就可以取走一个消息。各个进程对缓冲池进行互斥访问,用信号量实现
设由N个缓冲区组成缓冲池,每个缓冲区可以存放一个消息,有两个进程:生产者(producer)和消费者(consumer),且只要缓冲池未满,生产者便可以将消息送人缓冲池,而只要缓冲池未空,消费者就可以取走一个消息。各个进程对缓冲池进行互斥访问,用信号量实现
admin
2012-10-31
39
问题
设由N个缓冲区组成缓冲池,每个缓冲区可以存放一个消息,有两个进程:生产者(producer)和消费者(consumer),且只要缓冲池未满,生产者便可以将消息送人缓冲池,而只要缓冲池未空,消费者就可以取走一个消息。各个进程对缓冲池进行互斥访问,用信号量实现协调过程。两个进程的处理过程如下:
Begin
S,S1,S2:SEMAPHORE;
S=1;S1=N;S2=0;
BUFFER[N]为缓冲区;I=J=0;
CoBegin
Process Producer:/*生产者进程*/
L1:生产一个消息M;
P(S1);
P(S);
BUFFER[I]=M;
I=(I+1)MOD N;
V(S2);
V(S);
GOTO L1;
Process Consumer:/*消费者进程*/
L2:
P(S2);
P(S);
M=BUFFER[J];
J=(J+1)MOD N;
V(S1);
V(S);
消费一个消息M;
GOTO L1;
COEND
请问信号量S、S1、S2的作用分别是什么?
选项
答案
(1)信号量S用于对缓冲区的互斥访问。 (2)信号量S1用于生产者进程对缓冲区的访问。 (3)信号量S2用于消费者进程对缓冲区的访问。
解析
该题目中同时存在进程的同步和互斥,其中信息量S用于对缓冲区的互斥访问,主要问题是为了防止一个进程在使用缓冲区时另外进程也进入缓冲区使用。关丁缓冲区中能否在放人消息或缓冲区中是否有消息属于进程之间的同步问题。
转载请注明原文地址:https://kaotiyun.com/show/7gNx777K
本试题收录于:
操作系统题库理工类分类
0
操作系统
理工类
相关试题推荐
典型的机电一体化系统有哪几种形式?
单代号网络图的基本要素有节点和________。
两个以上法人或者其他组织组成一个联合体,以一个投标人的身份共同投标是()
成本目标、成本计划、成本控制方案应该在_______阶段确定。
某企业的网络安全设备配置拓扑如图所示。选用适当的网络安全设备填入图的①~④处。答案填写在答题纸上。可选网络安全设备:路由器、防火墙、中心交换机、身份认证服务器
简要说明单钥密码算法的优缺点。
计算机物理安全所包含的主要内容包括:机房环境安全、通信线路安全、设备安全和()
给定明文“plaintext”,采用向前移位算法加密,密钥为63152(每个数字表示其对应字母在英文字母表中向前移动的位数),密钥自动循环使用,请写出加密后的密文,并给出明文中每个字母的加密过程。
试描述文件映射的概念,有哪些方法可供一个进程与另一个进程共享某个文件映射对象?
采用信箱方式进行进程通信时,信箱()
随机试题
某女,45岁。头痛多年,后头部疼痛固定不移,痈如椎刺,舌暗,脉细涩。针灸治疗除百会、风池、足三里外,宜取()
对已进场经检验不合格的工程材料,项目监理机构应要求施工单位将该批材料()。
关于保证的效力,下列说法正确的有()。
()是保护公民通信权的重要手段。
某企业2001年按规定的时间向税务机关进行了纳税申报,并缴纳了当年的营业税和所得税。该企业纳税申报有关资料如下:该企业1999年营业收入为1458000元,营业支出为1272000元,缴纳的营业税为72900元,缴纳的所得税为37323元。2002年,税
如果你被录取了。你将给你的单位带来什么?
根据下列资料,回答下列问题。2013年,我国海洋灾害以风暴潮、海浪、海冰和赤潮灾害为主,绿潮、海岸侵蚀、海水入侵与土壤盐渍化、咸潮入侵等灾害也均有不同程度发生。各类海洋灾害造成直接经济损失163.48亿元,死亡(含失踪)121人。单次过程中,造成
A.Bytheway,whataboutsalary?B.Whatelsearetheyaskingfor?C.Youmightbeinterested.Susan:Oh,I’mfedupwithmyj
SupposeyouarePresidentofStudentUnionandaregoingtorecruitsomevolunteerstoparticipateinHopeProjectinthenexts
下面程序的运行结果是【】。#defineN10#defines(x)x*x#definef(x)(x*x)main(){inti1,i2;i1=1000/s(N);i2=
最新回复
(
0
)