虚位以待(AD)
虚位以待(AD)
首页 > 操作系统 > LINUX > 嵌入式 Linux进程间通信(五)——进程间通信简介

嵌入式 Linux进程间通信(五)——进程间通信简介
类别:LINUX   作者:码皇   来源:互联网   点击:

嵌入式 Linux进程间通信(五)——进程间通信简介。一、进程间通信简介、Linux的进程通信方式基本上是从Unix平台上的进程通信方式继承而来的。在Unix发展过程中,贝尔实验室和BSD(加州大学伯克利分校的伯克利软件发布中心)是Unix发展的主要贡献者。

嵌入式 Linux进程间通信(五)——进程间通信简介

一、进程间通信简介

Linux的进程通信方式基本上是从Unix平台上的进程通信方式继承而来的。在Unix发展过程中,贝尔实验室和BSD(加州大学伯克利分校的伯克利软件发布中心)是Unix发展的主要贡献者,但两者在进程间通信方面的侧重点有所不同。贝尔实验室对Unix早期的进程间通信方式进行了系统的改进和扩充,形成了 “system V IPC”,通信进程局限在本地计算机内;BSD则跳过了进程通信局限在本地计算机的限制,形成了可以在计算机间进行通信的基于套接口(socket)的进程间通信机制。Linux则继承了贝尔实验室的system V IPC和BSD Socket两者进程间通信机制。

Linux进程间通信方式包括:管道、FIFO、信号、System V消息队列、System V信号灯、System V共享内存、Socket通信。

进程间通信的目的:

A、数据传输:进程间需要相互传输数据

B、共享数据:多个进程间操作共享数据

C、通知事件:进程间需要通知某个事件的发生

D、资源共享:多个进程之间共享同样的资源,需要内核提供锁和同步机制

E、进程控制:有些进程需要完全控制另一个进程的执行(如Debug进程)

二、多进程编程的优缺点

1、优点

A、每个进程互相独立,不影响主程序的稳定性,子进程崩溃没关系

B、通过增加CPU,就可以容易扩充性能

C、可以尽量减少线程加锁/解锁的影响,极大提高性能

D、每个子进程都有4GB地址空间和相关资源,总体能够达到的性能上限非常大

2、缺点

A、逻辑控制复杂,需要和主程序交互

B、需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算

C、多进程调度开销比较大

相关热词搜索: