Linux进程全解12——lIPC机制之管道,SystemV IPC介绍
来源:互联网 发布:数据采集网络兼职 编辑:程序博客网 时间:2024/04/19 23:16
以下内容源于朱有鹏《物联网大讲堂》的课程学习整理,如有侵权,请告知删除。
一、管道
1、管道(无名管道)
(1)管道通信的原理:内核维护的一块内存,有读端和写端(管道是单向通信的);
(2)管道通信的方法:父进程创建管道后fork子进程,子进程继承父进程的管道fd。
(3)管道通信的限制:只能在父子进程间通信、半双工。
(4)管道通信的函数:pipe、write、read、close。
2、有名管道(fifo)
(1)有名管道的原理:实质也是内核维护的一块内存,表现形式为一个有名字的文件。
(2)有名管道的使用方法:固定一个文件名,2个进程分别使用mkfifo创建fifo文件,然后分别open打开获取到fd,然后一个读一个写。
(3)管道通信限制:半双工(注意不限父子进程,任意2个进程都可)。
(4)管道通信的函数:mkfifo、open、write、read、close
二、SystemV IPC介绍
1、SystemV IPC的基本特点
(1)系统通过一些专用API来提供SystemV IPC功能;
(2)包含:信号量、消息队列、共享内存;
(3)其实质也是内核提供的公共内存;
2、消息队列
(1)本质上是一个队列,队列可以理解为(内核维护的一个)FIFO;(2)工作时A和B2个进程进行通信,A向队列中放入消息,B从队列中读出消息。
3、信号量
(1)实质就是个计数器(其实就是一个可以用来计数的变量,可以理解为int a);(2)通过计数值来提供互斥和同步。
4、共享内存
(1)大片内存直接映射;(2)类似于LCD显示时的显存用法
5、剩余的2类IPC
(1)信号(2)Unix域套接字:socket
阅读全文
0 0
- Linux进程全解12——lIPC机制之管道,SystemV IPC介绍
- SystemV IPC介绍
- linux ipc—管道
- Linux进程IPC浅析[进程间通信SystemV消息队列]
- Linux进程IPC浅析[进程间通信SystemV共享内存]
- Linux SystemV ipc 实现
- Linux SystemV ipc 实现 .
- IPC(SystemV) 之 信号量
- Linux进程间通信(IPC)之二——命名管道(FIFO)
- Linux进程间通信(IPC)之二——命名管道(FIFO)
- Linux进程间通信(IPC)之二——命名管道(FIFO)
- Linux进程间通信(IPC)之二——命名管道(FIFO)
- Linux进程间通信(IPC)之一——管道
- Linux进程间通信(IPC)之一——管道
- Linux进程间通信(IPC)之一——管道
- linux IPC之管道
- linux IPC 之管道
- Linux-IPC之管道
- 关于List.addAll(Collection<E>)方法遇到的问题
- Lua基础---流程控制语句
- py转文件编码
- JavaScript常用知识及其实例(四)
- 洛谷 P1019 单词接龙
- Linux进程全解12——lIPC机制之管道,SystemV IPC介绍
- (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案
- mysql 参数类型为map的用法
- hdu1203 I NEED A OFFER! 01背包
- 关于蓝牙BLE开发中要做掉的东西——除了设备和客户端外的蓝牙匹配对话框,notification 蓝牙匹配的通知栏
- 简洁的JS代码--几点建议-积累ing
- 最大黑区域-DFS
- MQTT 协议解析,java使用
- Python语法31[module/package+import]