首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假定系统有三个并发进程read、move和print共享缓冲器B1和B2。进程read负责从输入设备上读信息,每读出一条记录后把它存放到缓冲器B1中。进程move从缓冲器B1中取出一条记录,加工后存入缓冲器B2。进程print将B2中的记录取出打印输出。缓
假定系统有三个并发进程read、move和print共享缓冲器B1和B2。进程read负责从输入设备上读信息,每读出一条记录后把它存放到缓冲器B1中。进程move从缓冲器B1中取出一条记录,加工后存入缓冲器B2。进程print将B2中的记录取出打印输出。缓
admin
2019-08-01
72
问题
假定系统有三个并发进程read、move和print共享缓冲器B1和B2。进程read负责从输入设备上读信息,每读出一条记录后把它存放到缓冲器B1中。进程move从缓冲器B1中取出一条记录,加工后存入缓冲器B2。进程print将B2中的记录取出打印输出。缓冲器B1和B2每次只能存放一条记录。要求三个进程协调完成任务,使打印出来的与读入的记录的条数,次序完全一样。请用wait和signal原语写出它们的并发程序。
选项
答案
begin SR,SM1,SM2,SP:semaphore; B1,B2:record; SR:=1;SM1:=0;SM2:=1;SP:=0; cobegin process read X:record; begin R:(接收来自输入设备上一条记录) X:=接收的一条记录; wait(SR); B1:=X; signal(SM1); goto R; end; Process move Y:record; begin M:wait(SMl); Y:=B1: Signal(SR) 加工Y wait(SM2); B2:=Y; signal(SP); goto M; end; Process print Z:record; begin P:wait(SP); Z:=B2; signal(SM2) 打印Z goto P; end; coend; end;
解析
转载请注明原文地址:https://kaotiyun.com/show/0VCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
明清时期专制主义空前加强,据此回答问题:清代在散文方面,声势最大、影响最广的是桐城派,不属于该派的是()
严复翻译的《天演论》一书的出版时间是()。
民族区域自治制度
下列关于20世纪历史的叙述,全部错误的是()。①朝鲜建国的时间早于中国②1948年3月,英国、法国、比利时、荷兰、卢森堡5国缔结了《合作和集体防御条约》即《五国和约》③1950年,周恩来到达莫斯科,中苏缔结了《中苏互不侵犯条约》,标志着社会主
1908年安庆新军起义是由()领导的。
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
在机器数中,正数的符号位用“1”表示的是()。
假定某采用页式虚拟存储管理的计算机系统中,主存储器容量为1GB,被分为262144块物理块,物理块号为0,1,2,……,262143。某进程的地址空间占4页,逻辑页号为0,1,2,3,被分配到主存储器的第20,45,101,58号物理块中。回答:
对于下图G,按下列条件试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。(1)假定它们均采用邻接矩阵表示;(2)假定它们均采用邻接表表示,并且假定每个顶点邻接表中的结点是按顶点序号从大到小的次序链
随机试题
患者,女,30岁。反复上腹痛5年,以餐前明显,伴腹胀。近1周腹痛加重。体格检查未发现明显阳性体征。问题1:可考虑的检查措施有1.消化道钡剂2.胃镜3.腹部CT4.13C-尿素呼气试验5.腹部超声6.24小时食管pH监测
属于系统误差的有
以下哪类排水可以与下水道直接连接?
背景某公司拟投标某市政工程,该工程技术要求较高,而该公司在这类工程的施工中有丰富的业绩和较高的声望。招标单位提供的招标文件提供了工程量清单。在购买标书后,对报价部分采用了如下计算方法,工程量直接使用清单数量,价格使用某定额站的信息价格。由于措施项目一览表
一笔会计分录主要包括三个要素即会计科目、记账符号和金额。()
央视发起“谁是家里的顶梁柱”调查,而一个国家。一个民族,更需要顶梁柱,那么谁称得上是国家顶梁柱?请谈谈你对顶梁柱的看法。
下列选项中应当认定为在夫妻关系存续期间夫妻共有财产的是()。
Abusinessownedandoperatedbyonepersoniscalleda______proprietorship.
在C语言中,如果下面的变量都是血类型,则输出的结果是______。sum=pad=5;pAd=sum++,pad++,++pAd;printf("%d\n",pad);
有如下程序:#include<iostream>usingnamespacestd;classObj{staticinti;public:Obj(){i++;}~Obj(){i
最新回复
(
0
)