操作系统中的进程通信

来源:互联网 发布:mac如何给iphone刷机 编辑:程序博客网 时间:2024/05/01 04:01

进程通信分类:1、低级通信:进程的互斥和同步,2、高级通信:指用户可直接利用os提供的一组通信命令,高校地传送大量数据的一种通信方式。对用户同名。

高级通信分类:共享存储器系统、消息传递系统、管道通信

共享存储器系统:1、共享数据结构的通信方式  进程之间通过某种数据结构,如缓冲池进程通

信方式;

2、共享存储区通信方式  为了传送大量信息,进程可通过对共享存储区进行读或写来是想通信,属于高级通信方式。

消息传递系统:信息交换单位是消息或报文:分成两种:1、直接通信方式,2、间接通信方式

计算机网络中将消息成为报文。

直接通信方式:发送进程直接吧消息发送给目标进程     发送进程和接受进程都已显试本别提供对方的标志符。 

    

系统提供两条通信原语:

Send(Receiver, message);

Receive(Sender , message);

操作系统中的进程通信 - 小鲍 - 小鲍
 间接通信方式:

 信息发送和接收到原语:

 Send( mailbox , message): 将一个信息发送到指定信箱

 Receive( mailbox  , message) :从指定信箱中接受一个消息

信箱分类:私用信箱,共用信箱,共享信箱;

私用信箱:用户进程建立,作为该进程的一部分; 拥有者有权读消息,其他用户只能发送   ;   采用单向通信链路     进程结束是信箱消失

公用信箱:他又OS创建.    提供给系统中的所有核准进程使用。    进程既发送也

可取出    采用双向通信链路的信箱来实现。   系统运行期间始终存在

共享信箱:由某个进程创建,创建是提供共享进程(用户)的名字。    信箱的拥有者和共享这,都有权从信箱中取走发送给自己的消息。

信箱通信是发送进程和接收进程的关系:

一对一关系:建立一条专用的通信链路。

多对一关系:服务进程与多个进程之间进行交互,又称客户/服务器交互。

一对多关系:一个发送进程与多个接收进程进行交互,使发送进程可用广播形式,向接收者发送消息。

多对多关系:建立一个共用信箱,多个进程投递并取走自己的消息。

管道通信:  (管道实质就是一个共享文件)

:管道通信方式建立在文件系统的基础上,利用共享文件链接两个相互通信的进程,此共享文件成为管道(Pipe)。

管道是指用于连接一个读进程和一个写进程,一实现他们之间的共享文件

操作系统中的进程通信 - 小鲍 - 小鲍
 管道通信  必需的协调能力:

1、互斥  当一个进程正在对管道进行读/写操作是,另一进程必须等待

2、同步  当写(输入)进程把一定量的数据(如4K)写入管道后,便去睡眠等待,

   直到读(输出)进程取走数据后在把它唤醒。当读进程发现管道空时也应睡眠等待,   

   直至写进程将消息写入管道后,才将它唤醒。

3、判别对方是否存在。只有确定对方存在时方能进行通信

0 0
原创粉丝点击