Linux IPC技术概括


进程间通信IPC技术在其发展过程经历了一些变化,另外其包含众多技术概念,如果不从系统上去梳理一番容易迷失在这信号森林。

IPC是进程间通信的简称,不同的信息共享有多种方式如下图:

5ab8cd214cf0d4987eb2cf564a52a905724826b0

进程组对于进程间的通信机构——信号来说,是非常有用的。

其发展规律如下:

Unix IPC包括:

l   最初的管道、FIFO、信号;

l   System V IPC包括:System V消息队列、System V信号量、System V共享内存区;

l   Posix IPC包括:Posix消息队列、Posix信号量、Posix共享内存区。

现有大部分Unix和流行版本都是遵循POSIX标准的,而Linux从一开始就遵 循POSIX标准;

System V(System Five)是Unix操作系统众多版本中的一支,当年UNIX厂家混战中,比较强大的一个,最初由 AT&T 开发并在1983年第一次发布。一共发行了4个 System V 的主要版本:1、2、3 和 4,比如:System V Release 4,或者称为SVR4,是最成功的版本。

在POSIX IPC中, IPC对象使用ipc的名称作为ipc的标识。mq_open sem_open shm_open三个函数的第一个参数就是这个名称。在创建或者打开ipc对象时需要指定操作的mode,例如O_RONLY、O_WRONLY、O_RDWR、O_CREAT、O_EXCL 等,IPC对象是有一定权限的,与文件的权限类似。

在System V IPC中,System v ipc中有一个重要的类型是key_t,在msget、semget、shmget函数操作中都需要利用这个类型是参数。 

我们可以将进程间的通信主要分为如下4种:消息传递、同步、共享内存和远程过程调用。

            再理解下fork,exec,__exit对IPC对象的影响。

20469e46dbd9ca787e3153f4aa123a05ff0d7ecb

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值