操作系统基础知识整理

6 进程通信

2017-06-01  本文已影响42人  saviochen

进程通信是指进程之间的信息交换,其交换的信息量由一个状态或数值到成千上万字节不等。

进程间同步互斥操作由于交换信息量少被称为低级通信。本文主要介绍高级通信机制,其可以归结为三大类:
共享存储器、消息传递、管道通信。

共享存储器

相互通信的进程共享某些数据结构或者共享存储区,进程通过这些共享空间进行通信。进一步划分为:基于共享数据结构的通信方式和基于共享存储器的通信方式。

消息传递

在消息传递系统中,进程间的数据交换是以格式化的消息(Message)为单位的。若通信的进程之间不存在可直接访问的共享空间,则必须利用操作系统提供的消息传递方法实现进程通信。

进程通过系统提供的发送消息和接收消息两个原语进行数据交换,隐藏了通信细节,简化通信程序编制的复杂性,得到了广泛的应用。进一步划分为:直接通信方式和间接通信方式。

信箱可以由操作系统创建也可以由用户创建,创建者是信箱的拥有者。据此,信箱可以分为私有信箱、公用信箱、共享信箱。

管道通信

所谓“管道”,是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件,又名pipe文件。

向管道(共享文件)提供输入的发送进程(即写进程),以字符流形式将大量的数据送入管道;而接收管道输出的接收进程(即读进程),则从管道中接收数据。为了协调双方的通信,管道机制必须提供以下三方面的协调能力:

上一篇 下一篇

猜你喜欢

热点阅读