操作系统第10讲进程管理续4通信课件_第1页
操作系统第10讲进程管理续4通信课件_第2页
操作系统第10讲进程管理续4通信课件_第3页
操作系统第10讲进程管理续4通信课件_第4页
操作系统第10讲进程管理续4通信课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、操作系统第10讲第3章 进程管理(4)(进程通信)主讲:闫新庆2012 32022/7/221第3章 进程管理内容提纲3.1 认识进程前的准备 3.2 进程的概念与描述3.3 进程状态及其转换 3.4 进程控制3.5 进程互斥与同步 3.6 进程通信 3.7 死锁问题 3.8 线程与超级线程 本章小结 习题2022/7/2223.7 进程通信导语: 进程通信是指进程间互相传递信息。操作系统可以被看作是各种进程组成。这些进程都具有各自的独立功能,且大多数被外部需要而启动执行。一般来说,进程间的通信可以划分为二种:即控制信息的传送(低级通信)大批量数据传送(高级通信)进程间同步或互斥,也是使用锁或

2、信号量进行通信来实现的。低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用。高级通信要传送大量数据。高级通信的目的不是为了控制进程的执行速度,而是为了交换信息。2022/7/2233.7 进程通信一、进程间的通信1定义:进程之间相互传递消息的过程称为进程间的通信。2功能:为协调某一任务,通过发送消息,使进程之间保持一定的联系。二、进程通信类型-低级通信特点:只能用于少量的“状态和数据控制信息”通信。适用于同步与互斥机制,传送的是控制信息,19个字节。)主从式:解决进程能否继续执行下去。(有固定的主从关系,键盘与显示,计算与打印(读、)等)其特点: 从进程动作受主进程控制。 主

3、进程可以使用从进程提供的数据。 主从之间的关系是固定的 2022/7/2243.7 进程通信二进程通信类型低级通信会话式:(共享存储区数据结构的交互式进程间通信方式,许可式通信方式,如用户进程与服务进程,如申请读写磁盘的进程与完成读写操作的进程。特点:使用进程必须得到服务进程的许可才能激活与使用。服务进程根据使用进程要求提供服务,服务控制由服务进程自身完成。两者之间存在固定关系。只能用于少量的状态和据通信。 2022/7/2253.7 进程通信三、进程通信类型高级通信1 类型:(1). 消息通信机制(公用缓冲区,1973年Hansen提出)消息或邮箱机制则无论接收进程是否已准备好接收消息,发送

4、进程都将把所要发送的消息送入缓冲区或邮箱。消息的一般形式由发送进程名、接收进程名、数据和有关数据的操作个部分组成。(图3.15)。图3.15消息的组成发送进程接受进程操作数据2022/7/2263.7 进程通信 消息或邮箱机制的特点: 只要存在空缓冲区或邮箱,发送进程就可以发送消息。 发送进程和接收进程之间无直接连接关系,接收进程可能在收到 某个发送进程发来的消息之后,又转去接收另一个发送进程发来 的消息。 发送进程和接收进程之间存在缓冲区或邮箱(图3.16)用来存放 被传送消息。(2). 共享存储区方式与前面三种方式不同,共享存储区方式不要求数据移动。两个需要互相交换信息的进程通过对同一共享

5、数据区(shared memory)的操作来达到互相通信的目的。这个共享数据区是每个互相通信进程的一个组成部分。图3.16缓冲区或邮箱通信结构PsPr缓冲区或邮箱2022/7/2273.7 进程通信 低级通信只能获得进程是否能够继续下去的简单信息(仅作为一种进程控制的标志),如信号量及PV操作。 高级通信能够解决一个进程将大批量数据传递给另一个进程的问题。1. 基于共享存储区的通信方式,是效率最高的一种通信机制 原理:在内存中开辟一个区域,并连入多个进程的虚拟地址空间,当一个进程在该空间(缓冲区)写入数据后,另一个进程就可以从所连的虚拟地址空间直接进入该区读出数据,就好像使用私有数据一样方便。

6、进程要求分配一个共享存储时,核心是先要按进程提供的关键字值,查找系统共享存储区段表,表存在共享段,则说明该共享段已被其它进程创建,如不存在,则建立一个空闲页表区(包括共享段的关键字,大小,首地址,存取控制权等)。2022/7/2283.7 进程通信 特点:效率高, 一个进程可以分配多个共享存储区,最大值由系统决定。2消息通信机制(公用缓冲区,1973年Hansen提出)原理: 消息通信机构管理一组空闲缓冲区消息。 A进程向B进程发送消息,申请一个缓冲区,填写有关 信息后,发送信号给B进程。 B进程读取数据并释放消息缓冲区。2022/7/2293.7 进程通信三、进程通信类型高级通信(续1) 2

7、消息通信机制(续)控制信息 Send-pia 发送进程标志。 Iype 消息类型。Size 消息长度。 Text 消息正文。 Next- ptr 下一个消息的指针。PCB 有关管理消息的数据项。Hd-ptr 进程已收到的消息队列的指针Mutex 对消息队列进行操作的互斥信号灯。Ssm 接受与发送进程之间的同步信号量,其值表示接受的消息数。OS提供接受和发送两个调用系统。 2022/7/22103.7 进程通信三、进程通信类型-高级通信(续2) 2消息通信机制(续) 发送进程 开辟一个发送缓冲区 填入消息及控制信息 调用发送消息系统,spn-pir指向缓冲区首地址。 (5) 接收进程 开辟一个接

8、收缓冲区 调用接收消息系统调用。 2022/7/22113.7 进程通信三、进程通信类型-高级通信(续3) 4邮箱通信:邮箱通信就是由发送进程申请建立一与接收进程链接的邮箱。发送进程把消息送往邮箱,接收进程从邮箱中取出消息,从而完成进程间信息交换。设置邮箱的最大好处就是发送进程和接收进程之间没有处理时间上的限制。一个邮箱可考虑成发送进程与接收进程之间的大小固定的私有数据结构,它不像缓冲区那样被系统内所有进程共享。邮箱由邮箱头和邮箱体组成。其中邮箱头描述邮箱名称、邮箱大小、邮箱方向以及拥有该邮箱的进程名等。邮箱体主要用来存放消息。邮箱头发送进程接受进程 邮箱体 deposit(m)remove(

9、m)图 3.17 邮箱通信结构2022/7/22123.7 进程通信三、进程通信类型-高级通信(续4) 3邮箱通信(续) 信箱类型 公用信箱OS创建,由系统核准使用,系统运行期间,该信箱始终存在。 专用信箱由某个进程创建,创建后指明用户名。 私用信号量由用户进程创建,用户 信箱进程之间的彼此关系 1对1: 收发进程之间建立一条进程间的通信链路。它们之间的交互 不受其它进程影响。 1对多: 广播式,客户服务模式。2022/7/22133.7 进程通信多对1: 客户机对服务器模式,允许一个和多个进程之间进行交互。多对多: 公用信箱关系,多个进程可以向其发送,也可以接收公用 信箱。 邮箱通信条件 邮

10、箱为空才能发。 邮箱存在数据才能接收。收发进程之间至少存在一个邮箱。2022/7/22143.7 进程通信三、进程通信类型-高级通信(续5) 4管道通信 通过管道文件:连接一个读进程和一个写进程的文件称之为管道文件,以实现两者之间的通信。 特征 采用FIFO的数据组织传输方式。 能传送任意量的数据。 写满则发送进程自我阻塞,读空则阻塞。 通信机制的三方协调能力 接、收进程双方都存在才能通信。 互斥:写不能读,读不能写。 同步,收、发进程互相协作的机制 2022/7/2215第10讲小结2022/7/2216 君辞西行归塞上,泪两行,月无光。秦岭八百无黛色,商都戚容,中秋似冬凉。嫦娥相伴跨三省,衷情长,塞外凉。王伦捧酒踏歌过,太白惊诧,琼浆何人当?李广邀月云台上,论汉赋,话安阳。沙湖为酒满汉席;婵娟舞袖

温馨提示

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

评论

0/150

提交评论