首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
3个进程P1、P2、P3互斥使用一个包含Ⅳ个(N>0)单元的缓冲区,P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
3个进程P1、P2、P3互斥使用一个包含Ⅳ个(N>0)单元的缓冲区,P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
admin
2019-08-15
93
问题
3个进程P1、P2、P3互斥使用一个包含Ⅳ个(N>0)单元的缓冲区,P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这3个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。
选项
答案
(1)定义信号量s1控制P1与P2之间的同步,s2控制P1与P3之间的同步,empty控制生产者与消费 者之间的同步,mutex控制进程间互斥使用缓冲区。 (2)程序如下: vat sl=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); /*收到Pl发来的信号,已产生一个奇数*/ 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://kaotiyun.com/show/viCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1980年1月,邓小平在《目前的形势和任务》提出的中国人民长期奋斗的三件大事是()。
隋唐五代时期是中国古代商品经济发展史上的一个重要阶段,种类多,交换规模大,交换方式多。试回答问题:我国银行最早的雏形是唐朝时期出现的()
某网络的拓扑结构由下图所示,其中顶点表示路由器。该网络的路由器采用了链路状态路由算法,在某一时刻各个路由器发送的链路状态如下:A:B(1),D(3)B:A(1),D(1),C(3),E(5)C:B(3),D(1)D:A(3),B(1
若有4个进程共享同一程序段,每次允许3个进程进入该程序段,用P、V操作作为同步机制,则信号量S的取值范围是()。
下图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控
某计算机系统的内存储器由Cache和主存构成,Cache的存取周期为45纳秒,主存的存取周期为200纳秒。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:(1)Cache的命中率是多少?(2)CPU访问内存的平均
写出单总线结构计算机中指令MOVER1,R2(含义是将寄存器R1中内容写入寄存器R2中)的操作步骤。
在一个按字节编址的计算机中,若数据在存储器中以小端方案存放。假定int型变量i的地址为08000000H,i的机器数为01234567H,地址:08000000H单元的内容是()。
关于DMA方式和通道方式,下列说法中错误的是()。
下面输入一个很诡异的链表,暂时称它为“变异链表”,如图4—3所示。从图中可以看出此链表的尾部形成了一个环,请实现一个时间和空间上尽可能高效率的算法来判断输入的链表是否为“变异链表”,要求:说明你所设计算法的时间复杂度和空间复杂度。
随机试题
肝硬化导致全血细胞减少的最常见原因是
脾肿大可分为三度:深吸气时脾缘______________为轻度肿大;______________为中度肿大;______________为高度肿大。
男性,45岁,建筑施工中,从三层楼脚手架摔下,头部、肩部同时触在地上,上、下肢均活动受限,并有脑脊液鼻漏。促进脑脊液漏通道早日闭合的正确措施是
患者,女,46岁。已婚。经来无期,现已持续20天未止,开始量多,现淋漓不尽,色淡、质稀,腰酸腿软,溲频清冷,舌淡苔白,脉沉细。应予止血调经,其治法是
下列类型的电梯中,一般需要选用高速电梯的是()。[2009年考试真题]
离相封闭母线与设备连接时,为了便于拆卸,连接处一般采用螺栓连接,且接触面需镀银处理,请问当导体额定电流大于()时,应采用非磁性材料紧固件。
下列关于日常生活健康常识,不正确的是()。
早期的计算机语言中,所有的指令、数据都用一串二进制数0和1表示,这种语言称为()。
充分发挥个体、私营等非公有制经济在促进经济增长、扩大就业和活跃市场等方面的重要作用。放宽国内民间资本的市场准入领域,在投融资、税收、土地使用和对外贸易等方面采取措施,实现公平竞争。依法加强监督和管理,促进非公有制经济健康发展。完善保护私人财产的法律制度。
A、Atacommencementofafirst-classcollege.B、Atafreshmenorientationinacollege.C、Atarecruitmentpresentationinacol
最新回复
(
0
)