




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、进程管理,进程通信,一、进程通信的概念 进程之间互相交换信息的工作称为进程通信IPC(InterProcess Communication)。 根据所交换的信息量的多少分为: 低级通信进程之间交换的信息量较少且效率低。如进程同步和互斥。 高级通信进程之间交换的信息量较多且效率高,进程的通信方式,在单机系统中,可分为4种:主从式、会话式、消息或信箱机制、共享存储区方式。 1) 主从式通信系统的特点: a. 主进程可自由地使用从进程的资源或 数据; b. 从进程的动作受主进程的控制; c. 主进程和从进程的关系是固定的。 典型例子是终端控制进程和终端进程的通信,进程的通信方式,2)会话式通信系统的
2、特点: 通信进程双方可分别称为使用进程和服务进程,这里使用进程调用服务进程提供的服务。 a.使用进程在使用服务进程提供的服务之前,必须得到服务进程的许可; b. 服务进程根据使用进程的要求提供服务,但对所提供服务的控制由服务进程自身完成。 c.使用进程和服务进程在进行通信时有固定连接关系。 典型例子是用户进程与磁盘管理进程之间的通信,进程的通信方式,3) 消息或邮箱机制 消息:进程间发生交互作用的有结构的数据。 发送进程 接收进程 操作 数 据 邮箱(信箱):用来存放信件的数据结构。信箱由信箱头和信箱体组成,进程的通信方式,可存信件数 信箱头存放有关信箱 信箱头 已有信件数 的描述。 信件指针
3、 信箱体 信 件 信箱体存放信件。 信 件,进程的通信方式,消息缓冲或信箱结构通信的特点是: a. 只要存在空缓冲区或邮箱,发送进程就可以发送消息; b.与会话系统不同,发送进程和接收进程之间无直接连接关系,接收进程可能在收到某个发送进程发来的消息之后,又转去接收另一个发送进程发来的消息。 c. 发送进程与接收进程之间存在有用来存放被传送消息的缓冲区或邮箱,进程的通信方式,4)共享存储区方式 两个需要互相交换信息的进程通过对同一共享数据区(shared memory)的操作来达到互相通信的目的。这个共享数据区是每个互相通信进程的一个组成部分。 发送进程 shared 接收进程 memory,消
4、息缓冲机制,发送进程和接收进程采用消息缓冲机制来进行数据传送时,发送进程先在自己的内存空间设置一个发送区,把欲发送的消息填入其中,然后再用发送过程将其发送出去;接收进程则在接收消息之前,在自己的内存空间内设置相应的接收区,然后用接收过程接收消息,消息缓冲机制,发送进程 消息缓冲区 接收进程 由于消息缓冲机制中所使用的缓冲区为公用缓冲区,因此发送进程与接受进程必须满足如下的条件,消息缓冲机制,a. 在发送进程将消息写入缓冲区时,或接收进程从缓冲区取消息时,应禁止其他进程对缓冲区的访问。互斥问题。 b. 当缓冲区中无消息存在时,接收进程不能接收任何信息。同步问题。 c. 发送进程是否可以发送消息,
5、则由发送进程是否能申请到缓冲区来决定,消息缓冲机制,消息缓冲机制的P、V原语实现: 设公用信号量mutex为控制对缓冲区访问的互斥信号量,其初值为1。 设SM为接收进程的私用信号量,表示等待接收的消息个数,其初值为0。 设发送进程调用过程send(m)将消息m送往缓冲区,接收进程调用过程receive(n)将消息n从缓冲区读往自己的数据区,则send(m)和receive(n)可分别描述为,消息缓冲机制,send(m): begin 向系统申请一个缓冲区;(若申请成功,则继续;否则等待) P(mutex); 将发送区消息m送入新申请的消息缓冲区; 将消息缓冲区挂入接收进程的消息队列; V(mu
6、tex); V(SM); End,消息缓冲机制,receive(n): begin P(SM); P(mutex); 摘下消息队列中的消息n; 将消息n从缓冲区复制到接收区; 释放缓冲区; V(mutex); End,消息缓冲机制,一般来说,尽管系统中可利用的缓冲区总数是已知的,但由于消息队列是按接收进程排列,因此在同一时间内,系统中存在着多个消息队列,且这些队列的长度是不固定的,因此发送进程无法在send过程中用P操作判断信号量SM,邮箱通信,邮箱通信 信箱通信结构: 发送进程 信箱头 接收进程 条件: 发:至少有一个空格; 收:至少有一个信件。 要点:解决同步问题,邮箱通信,设置信号量:
7、fromnum:表示信箱有空,可发信件;初值为n。 mesnum:表示信箱有信件可取;初值为0,邮箱通信,算法描述: deposit(m) remove(m) begin local x begin local x P(fromnum) P(mesnum) 选择空格x 选择满格x 将消息m放入空格x 把满格x中的消息取到m 置格x的标志为满 置格x的标志为空 V(mesnum) V(fromnum) End end,邮箱通信,使用原语: send(receiver,message):将信息message发给receiver; receiver(send,message):接收由send发来的信息message; 解决生产者消费者的问题。 Repeat Repeat Produc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年后门关闭止动器加强板项目投资可行性研究分析报告
- 高考语文总复习 诗词鉴赏题汇编02
- 2024-2025学年高中物理第11章机械振动第3节简谐运动的回复力和能量课后练习含解析新人教版选修3-4
- 2024-2025学年高中数学第三章空间向量与立体几何3.2立体几何中的向量方法第3课时空间向量与空间距离选学练习含解析新人教A版选修2-1
- 2024-2025学年高中物理第十五章第3节狭义相对论的其他结论第4节广义相对论简介练习含解析新人教版选修3-4
- 宁夏中卫香山风电场八期49.5MW工程可行性研究报告-6 电气
- 自家租房合同范本
- 2024年罗茨鼓风机项目评估报告
- 2025-2030年中国化学试验室设备项目投资可行性研究分析报告
- 2025年智慧医疗项目可行性研究报告
- 公司安全事故隐患内部举报、报告奖励制度
- 云停车平台商户使用说明
- 病理学第二节细胞和组织损伤的原因和机制
- MBR系统运行技术手册
- 稻谷品质测定指标及方法
- 小学四年级上册口算题大全800题(口算天天练)
- 医院医保月结算报表
- 中国农业银行资金证明模板
- 教师如何做小课题研究(李海波)
- 确认民族成分申请书
- 航空煤油 MSDS 安全技术说明书
评论
0/150
提交评论