UNIX 内核管理的进程自主地操作,从而产生更稳定的系统。然而,每个开发人员最终都会遇到这样的情况,即其中一组进程需要与另一组进程通信,也许是为了交换数据或发送命令。这种通信称为进程间通信(Inter-Process Communication,IPC)。System V (SysV) UNIX 规范描述了以下三种 IPC 机制,它们统称为 SysV IPC:...
分类:
系统相关 时间:
2014-05-22 12:49:46
阅读次数:
469
本文参考《Android系统源代码情景分析》,作者罗升阳
一、测试代码:
~/Android/external/binder/server
----FregServer.cpp
~/Android/external/binder/common
----IFregService.cpp...
分类:
移动开发 时间:
2014-05-22 10:27:56
阅读次数:
367
共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。
mmap函数
功能:将文件或者设备空间映射到共享内存区。
原型
void *mmap(void *addr, size_t len, int prot, int flags, in...
分类:
其他好文 时间:
2014-05-22 08:04:52
阅读次数:
315
用信号量解决生产者消费者问题:
ipc.h
#ifndef _IPC_H_
#define _IPC_H_
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ERR_EXIT(m) do \...
分类:
其他好文 时间:
2014-05-22 07:20:09
阅读次数:
366
1. Unix IPC(InterProcess
Communication)同一主机的各个进程间的IPC:管道、FIFO、消息队列、信号量、共享存储器不同主机上的各个进程间IPC:socket套接字2.
管道管道进行IPC有两个局限:(1) 半双工,即数据只能在一个方向上流动(2) 只能在具有公共...
分类:
其他好文 时间:
2014-05-21 23:03:50
阅读次数:
394
本文参考《Android系统源代码情景分析》,作者罗升阳
一、测试代码:
~/Android/external/binder/server
----FregServer.cpp
~/Android/external/binder/common
----IFregService.cpp
...
分类:
移动开发 时间:
2014-05-21 08:36:38
阅读次数:
536
IPC进程间通信+数据复制消息WM_COPYDATA
IPC(Inter-Process Communication,进程间通信)。
数据复制消息WM_COPYDATA是Windows中一个特殊的消息,通过这个消息可以在进程间传递数据。
1.WM_COPYDATA:
WM_...
分类:
其他好文 时间:
2014-05-21 07:05:31
阅读次数:
307
本文参考《Android系统源代码情景分析》,作者罗升阳。
一、测试代码:
~/Android/external/binder/server
----FregServer.cpp
~/Android/external/binder/common
----IFregService.cpp
----IFreg...
分类:
移动开发 时间:
2014-05-18 18:21:12
阅读次数:
475
本文参考《Android系统源代码情景分析》,作者罗升阳
一、测试代码:
~/Android/external/binder/server
----FregServer.cpp
~/Android/external/binder/common
----IFregService.cpp...
分类:
移动开发 时间:
2014-05-18 06:08:05
阅读次数:
494
IPC进程间通信+共享内存Mapping
IPC(Inter-Process Communication,进程间通信)。
文件映射(Mapping)是一种将文件内容映射到内存地址的技术,通过对映射内存,读写文件如同读写内存一般简单。
多个进程映射同一个文件映射对象,也即多个进程映射到同一个物理存储页面,因此,当一个进程...
分类:
移动开发 时间:
2014-05-18 04:28:39
阅读次数:
324