ch3-3.5进程通信_第1页
ch3-3.5进程通信_第2页
ch3-3.5进程通信_第3页
ch3-3.5进程通信_第4页
ch3-3.5进程通信_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 n1.进程通信:进程之间的信息交换 n进程同步是一种进程通信,但有别于本节讨论的内 容,因为本节讨论的进程通信是进程间传递数据的 通信,而进程同步只是在进程间传递信号,并不专 门用来传递数据,当在进程间传递大量数据时,这 属于进程通信研究的范围 用户空间 系统空间 应用程序 系统调用或中断 服务 信号处理 程序 应用程序 产生系统调用 或中断访管 转向用户空 间执行信号 处理 信号 处理 程序 结束 返回 内核 从内 核返 回用 户空 间信号的检测 与处理流程 n管道机制应具备的三个协调功能: n1)互斥。一次仅由一个进程读写。(通过测试i_node节点 的特征位来保证,改特征位就是一个读写

2、互斥标志) n2)确定对方是否存在 n3)同步。睡眠和唤醒功能。(管道文件只使用了i_node节 点中的直接地址项,长度一般限制在几kb) n4)进程在关闭管道的读出或写入时,应唤醒等待写或读此 管道的进程 写进程 共享 文件读进程 系统打开 文件表 用户打开 文件表 内存活动 索引节点表 外存 fp 读进程 写进程fp 文件节 点指针 文件节 点指针 索引 节点 pip文件 pipe的数据结构 写端 读端 进程A 写端 读端 进程B 管道文件 (缓冲区) 进程A打开文件表进程B打开文件表 父子进程通过管道 单向通信 写端 读端 进程B 管道文件 (缓冲区) 写端 读端 进程A 进程A打开文件

3、表进程B打开文件表 兄弟进程通过 管道单向通信 写端 读端 进程C 进程C打开文件表 Process A Process B Shared memory kernel 生产者消费者问题:生产者消费者共享一 组缓冲区,实现数据交换,属于基于共享存储 区通信 n这里的共享数据区属于每个进程的组成部分。 这种通信方式不要求数据移动,一般属于本 地通信 n对于远程通信来说,每台计算机拥有各自私 有的内存区,不易实现共享存储区的访问 消息传递系统消息传递系统(Message passing system) 不论是单机系统、多机系统,还是计 算机网络,消息传递机制都是用得最广泛 的一种进程间通信的机制。在

4、消息传递系 统中,进程间的数据交换,是以格式化的 消息(message)为单位的;在计算机网络 中,又把message称为报文。 消息缓冲队列通信机制消息缓冲队列通信机制 1. 消息缓冲队列通信机制中的数据结构消息缓冲队列通信机制中的数据结构 (1) 消息缓冲区。在消息缓冲队列通信方式中,主要利 用的数据结构是消息缓冲区。它可描述如下: type message buffer=record sender; 发送者进程标识符 size; 消息长度 text; 消息正文 next; 指向下一个消息缓冲区的指针 end (2) PCB中有关通信的数据项。在利用消息缓冲队列通 信机制时,在设置消息缓冲队列的同时,还应增加用于对 消息队列进行操作和实现同步的信号量,并将它们置入进 程的PCB中。在PCB中应增加的数据项可描述如下: type processcontrol block=record mq; 消息队列队首指针 mutex; 消息队列互斥信号量 sm; 消息队列资源信号量 end 接收进程名:Q 信件长:5c 正文: ABCDE Send(发送区首 址) 发送区 消息队列首指针 mutex sm 发送进程名:P 信件长:5 正文:ABC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论