07-进程管理-4.pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
07-进程管理-4

很多操作系统都提供了多种进程之间的通信手段。如Unix、Linux提供了大致相同的手段,包括: 信号(Signal):通知。 管道(Pipe):传送数据。 追踪(Ptrace):控制、调试进程。 Socket:传送数据。 Unix System V的IPC机制,包括: 信号量:同步、互斥。 消息队列:传送数据。 共享内存:共享程序、数据,传送数据。 Windows的主要通信机制是RPC和LPC 。 进程通信---信号 一、信号机制 信号(Signal)是用来处理通知的,通知的特点如下: 1、随机性。通知的接收者不知道什么时候会来通知,因此通知的接收者不应该因为等待通知而影响正常的工作。当然接收者可以等待通知。 2、针对性。通知一般都是针对某人、某事的,需要接收者自己处理。 3、时效性。一般的通知都是紧急事件,接收者应尽快处理。过时的通知往往是没有意义的。 4、信息量。通知必须包含一定的信息量,但又必须简洁。 通知与中断十分相似: 接收通知的进程被迫离开自己当前的工作,转去处理通知。处理完通知的事情以后,再返回继续以前的工作。 但通知又不同于中断: 中断是针对整个系统的,中断的是CPU当前的工作;而通知是针对进程的,它所中断的是接收者进程的工作。 各进程都可以有自己特殊的处理通知的方式,通知必须由接收者进程自己处理。 因此,锁、信号量、消息等都不适合处理通知。 信号机制组成包括: 1、为了使信号的接收者明了其意义,需要预先约定信号的种类及其含义。 2、具有一个数据结构,记录每种信号的处理程序及处理时的特殊要求。 3、提供一组操作,让进程能够维护自己的信号处理结构,如注册处理程序、进行信号屏蔽操作等。 显然,不同的系统会有不同种类的信号,每种信号的含义也会有所变化。甚至通信的各方可以自己约定信号。 当然,信号的种类不宜太多。 下表是Linux操作系统的信号。 二、消息传递 信号和信号量实现的是进程之间的低级通讯,它只能传递简单的信号,不能传递交换大量信息,所以常称为低级通讯原语。 如果要在进程间传递大量信息则要用Send / Receive原语(高级通讯原语) 当要进行消息传递时执行send 当接收者要接收消息时执行receive 消息传递模式典型实现: 消息缓冲通信 信箱通信 消息缓冲区一般包含下列信息: name:发送消息的进程名和标志号 size:消息长度 text:消息正文 next:下个缓冲区的地址 采用消息缓冲通信机构的系统中,进程PCB中一般包含下列项目: mutex:消息队列操作互斥信号量。 Sm:接收消息计数和同步的信号量。其值表示消息队列中的消息数目。 Pm:指向该进程的消息队列中第一个缓冲区的指针。 消息缓冲通信的好处:扩大了信息传递能力。 代价: PCB中多了两个信号量和指针,使其规模变大; 系统开设多个缓冲区,占用内存空间; 增加对缓冲区的管理程序; 对缓冲区和消息队列的管理要涉及复杂的同步关系,给系统增加了复杂性和调度负担。 三、管道通信方式 Pipe 管道的特点: 1、管道是单向的,只能从一个进程流向另一个进程。如需要双向流动,要建两条管道。 2、管道中流动的字节没有结构。 3、管道是一对一的,不能同时流向多个进程。 4、管道的发送端控制在管道中流动的数据。 5、管道是可靠的、有序的、先进先出的,在一端放进去什么,在另一端就流出什么。 6、管道有容量限制,当管道满时,发送端无法再向其中增加字节;当管道空时,接收端无法从中取出字节。 传统的管道方式专指共享文件方式,基于文件系统,利用一个打开的共享文件连接两个相互通信的进程,文件作为缓冲传输介质 四、共享内存 相互通信的进程间设有公共内存,一组进程向该公共内存中写,另一组进程从公共内存中读,通过这种方式实现两组进程间的信息交换。 不管是消息队列还是管道,都需要经过第三者的转递,都需要多次的拷贝,因此都不够快。 共享内存可以直接交换信息,不再需要第三者的转递。因此是最快速的通信方式。 * * 本次课主要内容: 1、进程通信综述 2、信号 3、消息传递 4、管道通信 5、共享内存。 进程通信 进程通信的方式   进程间通信(IPC):是在多任务操作系统或联网的计算机之间运行的程序和进程所用的通信技术。有两种类型的进程间通信(IPC)。   1、本地过程调用(LPC):LPC用在多任务操作系统中,使得同时运行的任务能互相会话。这些任务共享内存空间使任务同步和互相发送信息。   2、远程过程调用(RPC):RPC类似于LPC,只是在网上工作。RPC开始是出现在Sun微系统公司和HP公司的运行UNIX操作系统的计算机中。 进程通信---信号

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档