版权所有 © 2014 tutorialspoint
int remap_file_pages(void *start, size_t size, int prot, ssize_t pgoff, int flags);
要创建非线性映射,我们执行以下步骤
start 参数有两个用途。首先,它标识我们要重新排列其页面的映射。因此,start 必须是之前通过调用mmap() 映射的区域内的地址。其次,start 指定由pgoff 和 size 标识的文件页面将放置到的地址。
start 和 size 中指定的值应为系统页面大小的倍数。如果不是,则内核会将两者的值都向下舍入到最接近的页面大小的倍数。
prot 参数必须指定为 0。
flags 参数与mmap() 的含义相同,但MAP_NONBLOCK以外的所有标志都会被忽略。
getpagesize (2)
mmap (2)
mmap2 (2)
mprotect (2)
mremap (2)
msync (2)
广告