Linux手册翻译——mmap(2)
发布时间
阅读量:
阅读量
mmap与munmap用于将文件或设备映射至内存中,或从内存中解除映射
#include<syslmman.h>
#include <sys/mman.h>
void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);
int munmap(void *addr, size_t length);
mmap()
【mmap()函数将在调用进程的虚拟地址空间中生成一个映射区域。该映射的起始位置由参数 addr 指定,而映射长度则由 length(必须大于0)决定。
当 addr 被设置为NULL时,内核将自动选择一个页对齐的起始地址进行映射,这是较为常见的处理方式;若 addr 不为NULL,则内核会将其作为参考值,在该地址附近寻找合适的页边界作为起始位置(注意此地址不能低于proc/sys/vm/mmap_min_addr所设定的值)。如果指定的 addr 已经存在其他映射,则内核将重新选择一个新的地址,该地址可能与原指定地址相关也可能无关。最终确定的新映射起始地址将作为函数调用的结果返回。
对于文件相关的映射(区别于匿名映射),其内容对应于由参数
全部评论 (0)
还没有任何评论哟~
