共享内存mmap
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式
mmap(memory map内存映射)操作提供了一种机制,让用户程序直接访问设备内存,这种机制,相比较在用户空间和内核空间互相拷贝数据,效率更高。在要求高性能的应用中比较常用。mmap映射内存必须是页面大小的整数倍,面向流的设备不能进行mmap,mmap的实现和硬件有关。
1 #include 2 /**参数: 3 *start -> 映射起始地址 , 4 *length -> 映射区长度 , 5 *prot -> 共享内存访问权限:可读,写,执行,不可访问, 6 *flags -> 映射模式 :MAP_SHARED , MAP_PRIVATE , MAP_FIXED 7 *offset-> 被映射内容起点 8 */ 9 void *mmap(void *start, size_t length, int prot, int flags,int fd, off_t offset); 10 11 int munmap(void *start, size_t length);