操作系统第3章-3进程通信.ppt
《操作系统第3章-3进程通信.ppt》由会员分享,可在线阅读,更多相关《操作系统第3章-3进程通信.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第3 3章章章章 进程管理进程管理进程管理进程管理 3.1 进程的引入进程的引入 3.2 进程的结构进程的结构 3.3 进程控制进程控制 3.4 进程的同步与互斥进程的同步与互斥 3.5 进程间通信进程间通信 3.6 进程调度进程调度 3.7 死锁死锁 3.8 线程线程2/17/20231进程通信概述进程通信概述进进程程通通信信就就是是进进程程之之间间的的信信息息交交换换,交交换换的的信信息量可多可少。息量可多可少。进进程程互互斥斥与与同同步步是是一一种种进进程程通通信信,通通过过修修改改信信号号量量,进进程程之之间间可可建建立立起起联联系系,相相互互协协调调运运行行和协同工作。和协同工
2、作。信号量上的信号量上的PVPV操作是最简单的进程通信。操作是最简单的进程通信。2/17/20232进程通信的类型进程通信的类型低级通信机制低级通信机制交换信息量少,如交换信息量少,如P、V原语,软中断信号;原语,软中断信号;适用于集中式操作系统。适用于集中式操作系统。高级通信机制:交换信息量大高级通信机制:交换信息量大消息传递消息传递(message passing)(message passing)通信机制;通信机制;共享内存共享内存(shared memory)(shared memory)通信机制;通信机制;管道(管道(PipePipe)通信:共享文件)通信:共享文件(shared f
3、ile)(shared file)通信机制;通信机制;既适用于集中式操作系统,又适用于分布式操作系统既适用于集中式操作系统,又适用于分布式操作系统 一般,一般,进程通信进程通信是指进程之间可直接以较高的效率是指进程之间可直接以较高的效率传递较多数据的信息交换方式。传递较多数据的信息交换方式。2/17/20233消息传递消息传递消息传递消息传递消息传递机制消息传递机制 进进程程间间的的数数据据交交换换以以消消息息为为单单位位,程程序序员员利利用用系系统统的的通通信信原原语语(要要进进行行消消息息传传递递时时执执行行sendsend;当当接接收收者者要要接接收收消消息息时时执执行行receiver
4、eceive)实现通信。实现通信。这种通信方式属于高级通信这种通信方式属于高级通信。优点优点 操操作作系系统统隐隐藏藏了了通通信信的的实实现现细细节节,简简化化了了通通信信程程序序编编制制的的复杂性。复杂性。分类分类直直接接通通信信(消消息息缓缓冲冲通通信信):发发送送进进程程直直接接把把消消息息发发送送给给接接收收者者,并并将将它它挂挂在在接接收收进进程程的的消消息息缓缓冲冲队队列列上上。接接收收进进程从消息缓冲队列中取得消息。程从消息缓冲队列中取得消息。间接通信间接通信(信箱通信信箱通信):发送进程将消息发送到某种中发送进程将消息发送到某种中间实体中(信箱),接收进程从中取得消息。间实体中
5、(信箱),接收进程从中取得消息。在网络中称为电子邮件系统。在网络中称为电子邮件系统。2/17/20234消息传递通信的直接通信方式消息传递通信的直接通信方式直接通信方式(消息缓冲通信)直接通信方式(消息缓冲通信)发送进程发消息时要指定接收进程的名字,反发送进程发消息时要指定接收进程的名字,反过来,接收时要指明发送进程的名字;过来,接收时要指明发送进程的名字;发送原语:发送原语:Send(receiver,message)Send(receiver,message)接收原语:接收原语:Receiver(sender,message)Receiver(sender,message)*对称形式:一对
6、一对称形式:一对一 *非对称形式:多对一非对称形式:多对一 (顾客(顾客/服务员)服务员)2/17/20235消息缓冲通信的实现消息缓冲通信的实现在在操作系统空间操作系统空间设置一组缓冲区;设置一组缓冲区;当发送进程需要发送消息时,执行当发送进程需要发送消息时,执行sendsend系统调用,产生访管中断,系统调用,产生访管中断,进入操作系统;进入操作系统;操作系统为发送进程分配一个空缓冲区,并将所发送的消息从发操作系统为发送进程分配一个空缓冲区,并将所发送的消息从发送进程送进程copycopy到缓冲区中,然后将该载有消息的缓冲区连接到接收到缓冲区中,然后将该载有消息的缓冲区连接到接收进程的消息
7、链链尾,如此就完成了发送过程;进程的消息链链尾,如此就完成了发送过程;发送进程返回到用户态继续执行;发送进程返回到用户态继续执行;在以后某个时刻,当接收进程执行到在以后某个时刻,当接收进程执行到receivereceive接收原语时,也产生接收原语时,也产生访管中断进入操作系统。访管中断进入操作系统。由操作系统将载有消息的缓冲区从消息链中取出,并把消息内容由操作系统将载有消息的缓冲区从消息链中取出,并把消息内容copycopy到接收进程空间,之后收回缓冲区,如此就完成了消息的接到接收进程空间,之后收回缓冲区,如此就完成了消息的接收,接收进程返回到用户态继续进行。收,接收进程返回到用户态继续进行
8、。2/17/20236消息缓冲实现图示消息缓冲实现图示消息缓冲实现图示消息缓冲实现图示2/17/20237消息缓冲区结构消息缓冲区结构struct messageBuffer int sender;/发送者发送者ID int size;/消息长度消息长度 char text20;/消息正文消息正文 struct messageBuffer*next;/消息队列指针消息队列指针 2/17/20238PCB中有关通信的数据项中有关通信的数据项struct PCB mq:pointer;/消息队列首指针消息队列首指针 mutex:semaphore;/消息队列互斥信号量消息队列互斥信号量 sm:se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 通信
限制150内