Unix 进程通信基本概念
一:通信分为两类:
控制信息的传递: 低级通信
大批量数据的传递: 高级通信
二:基本的通信方式
(a)主从式通信: 通信的双方存在一种隶属关系, 其中主进程是通信过程的控制者,而从进程是通信过程的从属者。主从式通信具有如下特点:
- 在通信过程中主进程对从进程的资源和数据享有使用权限,而从进程对主进程则没有这种权限。
- 在通信过程中主进程始终控制着从进程的工作和动作过程
- 一旦进程的主从关系确定,在整个通信过程中他们的隶属关系不再发生变化。
例如:终端控制进程和终端进程
(b)会话式通信: 通信进程双方采用请求应答的方式进行通信。在会话式通信中,通信进程双方分为使用者进程个服务者进程。使用者进程通过调用服务者进程来完成进程间的通信。 会话式通信的特点:
- 通信时使用者进程需要事先得到服务者进程的允许,方能使用服务者进程为其提供的服务。
- 服务者进程每次都是根据使用者进程提出的请求服务的 ,并且在进程通信的过程中控制权始终为服务者进程所有
- 同样进程间在确定使用会话方式进行通信时也要建立固定的逻辑关联关系。
例如:用户进程与磁盘管理进程采、用TCP/IP协议的网间进程通信

(c)消息或邮件通信: 通信双方处于一个平等地位,在通信过程中无论接收进程是否准备好,发送进程都可以进行消息发送。发的消息通过消息系统或邮件系统进行大批量数据传递。消息或邮件通信的特点:
- 通信中发送进程能否发送消息,只与消息缓冲区或邮箱中是否有足够大的空闲空间来满足这次通信有关,与需要将信息发送到的目的进程的状态无关
- 发送进程和接收进程之间不需要建立直接的逻辑关联关系
- 发送信息和接收信息必须通过消息缓冲区或邮箱来完成消息的传递

(d)共享存储区通信:进程之间采用信息共享存储区的通信方式来完成进程间的通信。信息共享区域是通信进程都可以访问的数据区。共享存储区的进程通信过程的特点:
- 进程通信中,通信的数据或信息不发生存储移动
- 当需要交互时,通信进程双方通过一个共享存储区完成信息交互
- 共享存储中的数据,可以作为需要交互进程的一部分存储在进程体中

Unix 进程通信基本概念的更多相关文章
- Linux下进程通信之管道
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把 ...
- Socket进程通信机制及应用
Socket通常称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄.应用程序通过套接字向网络发出请求或者应答网络请求.Socket即不是一个程序,也不是一个协议,其只是操作系统提供的通信层的一 ...
- Socket进程通信机制
1.Socket通常称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄. 2.应用程序通过套接字向网络发出请求或者应答网络请求. 3.Socket既不是一个程序,也不是一种协议,其只是操作系统 ...
- Unix进程特性
本篇文章主要总结分享记录一下运维工作中经常打交道的Unix进程.程序是代码的集合,而进程是运行中的程序产生的.那么进程都有那些特性呢?且看下文,部分经典且难懂的地方,使用python代码实现,可以让读 ...
- Linux间的进程通信;以及子进程的创建
"-----第六天-----------------------------------------------------------------------------" .版 ...
- linux各种IPC机制(进程通信)
linux各种IPC机制 (2011-07-08 16:58:35) 原文地址:linux各种IPC机制(转)作者:jianpengliu 原帖发表在IBM的developerworks网站 ...
- 进程以及进程通信(IPC)类型
这里用我有限的知识来解释同时参考了一些其他博主的子类,希望能给与一部分入门的朋友一个清晰的理解,有问题之处还请指出 首先简单谈一下什么是进程? 答:进程是装入内存运行的程序段,是许多的系统对象拥有权的 ...
- UNIX进程
UNIX进程控制的博客 http://blog.csdn.net/yang_yulei/article/details/17404021 Linux的概念与体系 http://www.cnb ...
- MINIX3 进程通信分析
MINIX3 进程通信分析 6.1MINIX3 进程通信概要 MINIX3 的进程通信是 MINIX3 内核部分最重要的一个部件,我个人认为其实这 是内核中的“内核”,怎么来理解这个概念呢?其实 MI ...
随机推荐
- 在Web上调用Ocx控件
原文:http://blog.csdn.net/goodadult2012/article/details/6343369 在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中 ...
- thinkphp模板中使用自定义函数
注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...
- WWDC2015
- sql操作事务SqlTransHelper类实现
具体实现代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...
- UVA 1401 - Remember the Word(Trie+DP)
UVA 1401 - Remember the Word [题目链接] 题意:给定一些单词.和一个长串.问这个长串拆分成已有单词,能拆分成几种方式 思路:Trie,先把单词建成Trie.然后进行dp. ...
- 三大文本处理工具grep、sed及awk的简单介绍
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...
- 贪心算法(2)-Kruskal最小生成树
什么是最小生成树? 生成树是相对图来说的,一个图的生成树是一个树并把图的所有顶点连接在一起.一个图可以有许多不同的生成树.一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n ...
- day06 Java面向对象
1.对象内存图 (1)1个对象的内存图:一个对象的基本初始化过程 (2)2个对象的内存图:方法的共用 (3)3个对象的内存图:其中有两个引用指向同一个对象
- laravel controller:make
php artisan make:controller DIR/XXXController
- Linux 学习笔记 查看文件内容诸多命令
查看文件内容 1.查看文件统计信息 stat 提供文件系统上某个文件的所有状态信息 2.查看文件类型 file 用来查看文件类型 (该命令将文件分成3类:文本类型:可执行文件:数据文件) 如果你有从未 ...