- 34
- 0
- 约1.12千字
- 约 4页
- 2016-11-26 发布于重庆
- 举报
期中考试参考答案2
一、CDAB ADAB二、进程同步1.假设有3个并发进程P,Q,R,其中P负责从输入设备上读入信息,并传送给Q,Q将信息加工后传送给R,R负责打印输出。进程P,Q共享一个有m个缓冲区组成的缓冲池;进程Q,R共享一个有n个缓冲区组成的缓冲池(假设缓冲池足够大,进程间每次传输信息的单位均小于等于缓冲区长度),请写出满足上述条件的并发程序。(12分)var mutex1,mutex2,Sip,Siq,Soq,Sor:semaphore:=1,1,m,0,n,0;begin parbegin Process P begin repeat 读入信息 wait(Sip); wait(mutex1); 数据放入缓冲区 signal(mutex1); signal(Siq); until false end; Process Q begin repeat wait(Siq); wait(mutex1); 从缓冲区中取出数据 signal(mutex1); signal(Sip); 数据处理〉 wait(Soq); wait(mutex2); 处理后的数据放入缓冲区 signal(mutex2); signal(Sor); until false end; Process R repeat wait(Sor); wait(mutex2); 把数据送入打印机完成打印; signal(mutex2); signal(Soq); until false end parendend2.设置一个信号量s=2,表示盘子有两个空位置。供爸爸和妈妈进程共享。设置s1=0表示苹果的数量,s2=0表示桃子的数量。设置mutex=1用来实现所有进程对盘子互斥访问。 Father:Begin Repeat Wait(s); Wait(mutex); 放苹果 Signal(mutex); Signal(s1) Until false EndMother:Begin Repeat Wait(s); Wait(mutex); 放桃子 Signal(mutex); Signal(s2) Until false EndSon:Begin Repeat Wait(s1); Wait(mutex); 取苹果 Signal(mutex); Signal(s) Until false endDaughter:Begin Repeat Wait(s2); Wait(mutex); 取桃子 Signal(mutex); Signal(s) Until false end四、应用题1、 2、(1)安全。(2)不能(3)能(4)不能 过程略
您可能关注的文档
最近下载
- 高中数学必修第四册第十一章综合测试01含答案解析.pdf VIP
- 2022年高考物理核心高频考点专题22 圆周运动的轻绳、轻杆模型(解析版).pdf VIP
- 马工程-中国古代文学史(第二版)上册第三编魏晋文学全套PPT课件50109.pptx
- 马工程-中国古代文学史(第二版)上册第二编秦汉文学全套PPT课件-50109.pptx
- 58同城加盟合同范本.docx VIP
- 58同城同镇代理加盟流程说明.docx VIP
- 马工程-中国古代文学史(第二版)上册第一编先秦文学全套PPT课件-50109.pptx
- 58同城加盟合同范本.docx VIP
- 幽默卡通动漫笑点设计方法.docx VIP
- 爆款AI漫剧教学手册.pdf
原创力文档

文档评论(0)