共享内存mmap

本文介绍了共享内存作为进程间通信的方式之一,并详细探讨了mmap内存映射操作的使用方法及其在高性能应用中的优势。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);

转载于:https://www.cnblogs.com/trying/archive/2012/12/01/2797136.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值