快速业务通道

linux 进程通信

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-28

linux 进程通信基本是从Unix继承过来的,而对这贡献大的两大机构是AT&T和bsd两大机构在进程方面的侧重点不同,前者则是是侧重于早期进程间通信的扩充,形成了"System v IPC ",通信进程局限于单个计算机内,而后者则是跳过了该限制,形成了基于套接口的进程间通信,Linux则是继承了两大方面.

Linux通信方式有如下几种方式:

1.管道及有名管道:管道可用于具有亲缘关系之间的进程进行通信,有名管道客服了管道没有名字的限制,因此,除了具有管道的特性外,它还允许无亲缘关系的进程间进行通信

2.信号.信号是比较复杂的通信方式,用于通知进程有某种事情发生,除了通知进程间以外,还可以通知本身,linux除了支持signal外,还支持基于bsd的sigaction函数,该函数可以重新实现signal函数

3.消息队列.消息队列是消息的链接表,包括Posix的System V消息队列,有足够权限的进程可以向队列中添加信息,被赋予读写权限的进程可以从队列中取走消息,消息队列克服了信号承载信息比较少的缺点,管道只能承载无格式字节流以及缓冲区受限的的不足

4.共享内存.多个进程可以访问同一个内存区域,是最快的可用的IPC形式,一般与信号量结合使用,以达到进程间的同步与互斥

5.信号量.主要作为不同进程以及同一进程不同线程间的同步使用

6.套接口.更为一般的进程间通信.可用于不同机器间的进程通信.

一般Linux进程包括以下几个要素

1.含有一段可运行的代码

2.有专有的系统堆栈空间

3.内核中有系统控制块,描述系统的状态,时间,受内核可控制

4.具有独立的存储空间

进程往往和线程没有直接区分,而往往根据上下文进行分析.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号