- 2
- 0
- 约3.32千字
- 约 16页
- 2018-09-04 发布于江苏
- 举报
范大学操作系统ppt2-3 进程通信
* * * 第3章 进程管理 * 2.1 进程的基本概念 2.2 进程控制 2.3 进程的同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 进程通信概述 进程通信就是进程之间的信息交换,交换的信息量可多可少。 进程互斥与同步是一种进程通信,通过修改信号量,进程之间可建立起联系,相互协调运行和协同工作。 信号量上的PV操作是最简单的进程通信。 * 进程通信的类型 低级通信机制 交换信息量少,如P、V原语,软中断信号; 适用于集中式操作系统。 高级通信机制:交换信息量大 消息传递(message passing)通信机制; 共享内存(shared memory)通信机制; 管道(Pipe)通信:共享文件(shared file)通信机制; 既适用于集中式操作系统,又适用于分布式操作系统 一般,进程通信是指进程之间可直接以较高的效率传递较多数据的信息交换方式。 * 消息传递 消息传递机制 进程间的数据交换以消息为单位,程序员利用系统的通信原语(要进行消息传递时执行send;当接收者要接收消息时执行receive)实现通信。这种通信方式属于高级通信 。 优点 操作系统隐藏了通信的实现细节,简化了通信程序编制的复杂性。 分类 直接通信(消息缓冲通信):发送进程直接把消息发送给接收者,并将它挂在接收进程的消息缓冲队列上。接收进程从消息缓冲队列中取得消息。 间接通信(信箱通信):发送进程将消息发送到某种中间实体中(信箱),接收进程从中取得消息。 在网络中称为电子邮件系统。 * 消息传递通信的直接通信方式 直接通信方式(消息缓冲通信) 发送进程发消息时要指定接收进程的名字,反过来,接收时要指明发送进程的名字; 发送原语:Send(receiver,message) 接收原语:Receiver(sender,message) * 对称形式:一对一 * 非对称形式:多对一 (顾客/服务器) * 消息缓冲通信的实现 操作系统空间设置一组缓冲区; 当发送进程需要发送消息时,执行send系统调用,产生访管中断,进入操作系统; 操作系统为发送进程分配一个空缓冲区,并将所发送的消息从发送进程copy到缓冲区中,然后将该载有消息的缓冲区连接到接收进程的消息链链尾,如此就完成了发送过程; 发送进程返回到用户态继续执行; 在以后某个时刻,当接收进程执行到receive接收原语时,也产生访管中断进入操作系统。 由操作系统将载有消息的缓冲区从消息链中取出,并把消息内容copy到接收进程空间,之后收回缓冲区,如此就完成了消息的接收,接收进程返回到用户态继续进行 * 消息缓冲实现图示 * 消息缓冲区结构 type messageBuffer=record sender:integer; //发送者ID size:integer; //消息长度 text:string; //消息正文 next:pointer; //消息队列指针 end * PCB中有关通信的数据项 type PCB=record … mq:pointer; //消息队列首指针 mutex:semaphore; //消息队列互斥信号量 sm:semaphore; //消息队列资源信号量 … end * * P、V操作实现的发送原语和接收原语 Receive(b) { 获得接收进程PCB的指针q; wait(q.sm); wait(q.mutex); 从q.mq中取下第一个消息缓冲区i; signal(q.mutex); 将i中的内容复制到接收 区b中,并释放i } Send(R,a) { 根据R找接收进程, 如果没找到出错返回; getbuf(a.size, i); /* 根据消息长度 a.size,申请一个空缓冲区i 把消息从发送区a中复制到空缓冲区i中; 获得接收进程PCB的指针q; wait(q.mutex); 将i挂到消息队列q.mq的队尾; signal(q.mutex); signal(q.sm); } sm初值:0 消息传递通信的间接通信方式 间接通信方式(信箱通信) 发送进程发消息时不指定接收进程的名字,而是指定一个中间媒介
您可能关注的文档
- 苏州大智印刷品包装设计产品案例.pptx
- 苏州大智印刷品包装设计案例分享.pptx
- 苏州工业园区府采购.doc
- 苏州工业园区包服务协会.ppt
- 苏州市十二五力设施专项规划及远景展望.doc
- 苏州市残疾人复训练服务中心.doc
- 苏州市水土保持规划~年.doc
- 苏州影视动画作培训 苏州影视动画设计培训 苏州影视动画后期制作培训 苏州最专业的影视动画培训学校.ppt
- 苏州房地产开发企业信用申报培训.ppt
- 苏州残联深入学习实践科学发展观活动.doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 《肖申克救赎》与《人性污点》对比评析.doc VIP
- 陕晋青宁四省2025-2026学年高三上学期(1月)第二次联考数学试卷(含答案详解).pdf
- 2025年AWS认证DynamoDB全局表数据不一致性问题的诊断与解决专题试卷及解析.pdf VIP
- 2025年房地产经纪人高级谈判策略模拟与实战演练专题试卷及解析.pdf VIP
- 2025年公共营养师不同食物类别中碘的分布规律专题试卷及解析.pdf VIP
- 2025年无人机驾驶员执照飞行操作责任归属法律依据专题试卷及解析.pdf VIP
- 2025年招标师招标采购从业人员接受礼品、宴请与旅游的禁止性规定专题试卷及解析.pdf VIP
- 文旅创意产业商业计划书.docx VIP
- 2025年MK 袋鼠数学竞赛Level-D (7-8年级) 真题+解析.pdf
- 【数学卷+解析】苏州零模2601.pdf
原创力文档

文档评论(0)