/**@author cody*@date 2014-08-12*@description *//*#include void *mmap(void *addr,size_t len,int prot,int flag,int filedes,off_t off);int munmap(void *...
分类:
其他好文 时间:
2014-08-12 16:29:04
阅读次数:
237
mmap() 和 munmap() - Unix的系统函数,更贴近底层 void* mmap(void* addr,size_t size,int prot,int flags, int fd, off_t offset) 参数addr可以指定映射的首地址,一般为0 交给内核指定。 size 就是分...
分类:
其他好文 时间:
2014-08-01 19:18:52
阅读次数:
206
普通文件被映射到进程地址空间后,进程可以像访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。刷新变化函数msync()进程在映射空间的对共享内容的改变并不直接写回到磁盘文件中,往往在调用munmap()后才执行该操作。可以通过调用msync()函数来实现磁盘文件内容与共享...
分类:
其他好文 时间:
2014-07-31 16:42:56
阅读次数:
151
nginx进程间的通信
进程间消息传递
共享内存
共享内存还是Linux下提供的最基本的进程间通信方式,它通过mmap和shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者shmdt系统调用可以释放这块内存。使用共享内存的好处是当多个进程使用同一块共享内存时,在任何一个进程修改了共享内存中的内容后,其他进程通过访问这段共享内存都能够得到修改后的内容。
Nginx...
分类:
其他好文 时间:
2014-07-29 14:28:38
阅读次数:
338
什么是mmap mmap对于c程序员很熟悉,对于java程序员有点陌生。简而言之,将文件直接映射到用户态的内存地址,这样对文件的操作不再是write/read,而是直接对内存地址的操作。 在c中提供了三个函数来实现 [list]mmap 进行映射munmap 取消映射msync 进程在映射空间的对共...
分类:
编程语言 时间:
2014-07-19 16:37:03
阅读次数:
407