版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
118三月2023北京交通大学计算机学院主讲教师:翟高寿(副教授)联系电话:(办)电子邮件:制作人:翟高寿制作单位:北京交通大学计算机学院《操作系统》218三月2023北京交通大学计算机学院第二章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程同步问题2.5进程通信2.6管程与线程318三月2023北京交通大学计算机学院2.5
进程通信2.5.1进程通信概念及分类2.5.2消息传递通信实现方式2.5.3消息传递系统实现若干问题2.5.4消息缓冲队列通信机制418三月2023北京交通大学计算机学院进程通信概念与实现机制进程通信概念
指进程之间的信息交换实现机制低级进程通信:效率低,操作系统仅提供共享存储器,通信对用户不透明和不方便高级进程通信:能传送大量数据,效率高,进程通信实现细节由操作系统提供,整个通信过程对用户透明,通信程序编制简单518三月2023北京交通大学计算机学院进程通信的类型共享存储器系统基于共享数据结构的通信方式基于共享存储区的通信方式消息传递系统直接/间接通信方式管道通信管道概念协调机制:互斥、同步、通信前提618三月2023北京交通大学计算机学院2.5
进程通信2.5.1进程通信概念及分类2.5.2消息传递通信实现方式2.5.3消息传递系统实现若干问题2.5.4消息缓冲队列通信机制718三月2023北京交通大学计算机学院直接通信方式通信原语Send(Receiver,message)Receive(Sender,message)一个接收进程可与多个发送进程通信打印进程Sender无法事先指定基于进程直接通信原语的应用生产者-消费者通信过程818三月2023北京交通大学计算机学院基于通信原语的生产者子程序设计producer:Varnextp:item;beginrepeatproduceaniteminnextp;
wait(empty);wait(mutex);
buffer[in]nextp;in(in+1)modn;
signal(mutex);signal(full);untilfalse;endSend(consumer,nextp);918三月2023北京交通大学计算机学院基于通信原语的消费者子程序设计consumer:Varnextc:item;beginrepeat
wait(full);wait(mutex);
nextcbuffer[out];out(out+1)modn;signal(mutex);signal(empty);
consumetheiteminnextc;untilfalse;endReceive(producer,nextc);1018三月2023北京交通大学计算机学院间接通信方式信箱进程间通信有关共享数据结构的中间实体由操作系统或用户进程创建私有/公有/共享信箱可实现实时/非实时通信通信原语信箱的创建和撤销、消息的发送和接收发送/接收进程间存在的四种关系一对一、多对一、一对多、多对多1118三月2023北京交通大学计算机学院2.5
进程通信2.5.1进程通信概念及分类2.5.2消息传递通信实现方式2.5.3消息传递系统实现若干问题2.5.4消息缓冲队列通信机制1218三月2023北京交通大学计算机学院消息传递系统中的几个问题通信链路显式/隐式建立(计算机网络/单机)点-点或多点连接通信链路单向/双向通信链路无容量/有容量通信链路(缓冲区)消息格式有消息头和消息正文构成,分定/变长两种进程同步方式发送/接收进程阻塞与否(三种情况)1318三月2023北京交通大学计算机学院2.5
进程通信2.5.1进程通信概念及分类2.5.2消息传递通信实现方式2.5.3消息传递系统实现若干问题2.5.4消息缓冲队列通信机制1418三月2023北京交通大学计算机学院消息缓冲队列通信机制-数据结构
消息缓冲区typeMessageBuffer=recordSender;//发送者进程标识符
Size;//消息长度
Text;//消息正文
Next;//指向下一缓冲区的指针End;PCB通信数据项typePCB=recordMessageQueue;//队首指针
mutex;//消息队列互斥信号量
Semphore;//消息队列资源信号量
……End;1518三月2023北京交通大学计算机学院消息缓冲队列通信机制示意图Send(B,SA)……Sender:ASize:5Text:Hello…………Receive(RB)……Sender:ASize:5Text:Hello………………MessageQueueMutexSemphore……Sender:ASize:5Text:HelloNext:0发送区接收区进程A进程BPCB(B)队首消息缓冲区1618三月2023北京交通大学计算机学院消息缓冲队列通信机制-发送原语ProcedureSend(Receiver,SA)Begingetbuf(SA.Size,Bufferi);Bufferi.SenderSA.Sender;Bufferi.Size
SA.Size;
Bufferi.Text
SA.Text;Bufferi.Next0;getid(PCB_Set,Receiver,PID);wait(PID.mutex);insert(PID.MessageQueue,Bufferi);signal(PID.mutex);signal(PID.Semphore);End;1718三月2023北京交通大学计算机学院消息缓冲队列通信机制-接收原语ProcedureReceive(RB)BeginPIDInternalNameOfProcess;wait(PID.Semphore);wait(PID.mutex);remove(PID.MessageQueue,Bufferj);signal(PID.mutex);RB.SenderBufferj.Sender;RB.SizeBufferj.Size;
RB.TextBufferj.Text;End;1818三月2023北京交通大学计算机学院2.5
进程通信2.5.1进程通信概念及分类2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第10课 影响世界的工业革命
- 2026福建泉州市晋江市新佳园物业发展有限公司招聘编外劳务派遣人员1人笔试备考试题及答案解析
- 2026广东蓝海豚旅运股份有限公司招聘1人笔试参考题库及答案解析
- 2026广东湛江市坡头区残疾人联合会招聘精神障碍社区康复服务试点协管员1人笔试模拟试题及答案解析
- 2026年小升初心理知识测试题带答案
- 2026年建筑电工知识试题及参考答案1套
- 北京第七实验学校(北京市平谷区国农港学校) 面向全国招聘笔试模拟试题及答案解析
- 2026四川成都市成华区市场监督管理局招聘编外人员1人笔试模拟试题及答案解析
- 2026上海市第六人民医院公开招聘工作人员笔试模拟试题及答案解析
- 2025安徽皖信人力资源管理有限公司招聘1人(公共基础知识)测试题附答案
- 酒店年终总结汇报
- 《无人机地面站与任务规划》 课件 第1-5章 概论 -无人机航测任务规划与实施
- 绿色前缀5000亩生态农业示范园区建设规模及运营模式可行性研究报告
- DB42∕T 2078-2023 红火蚁监测与防控技术规程
- 2025-2030中医养生培训行业市场格局及增长趋势与投资价值分析报告
- 污水处理厂管网调度与优化方案
- 新能源汽车租赁服务在公务用车市场的应用与前景报告
- 《经济博弈论》课后答案补充习题答案
- DB37∕T 4355-2021 浅海区海底重力测量技术规程
- 三轮摩托培训知识大全课件
- 2025年哈铁单招试题及答案
评论
0/150
提交评论