让pa是MMAP的返回地址(如说明书)
pa = mmap(addr,len,prot,flags,fildes,off);
在我看来,在函数调用成功后,以下范围是有效的
[pa,pa + len)
我的问题是以下范围是否仍然有效?
[round_down(pa,pagesize),round_up(pa + len,pagesize))
[base,base + size]简称
也就是说:
base始终在页边界上对齐?size总是页面大小的倍数(粒度换句话说页大小)?谢谢你的帮助.
我认为这段暗示:
该关参数被约束为根据由返回的值被对准和尺寸()的sysconf当传递_SC_PAGESIZE或_SC_PAGE_SIZE.指定MAP_FIXED时,应用程序应确保参数addr也满足这些约束.该实现在整个页面上执行映射操作.因此,虽然参数len不需要满足大小或对齐约束,但实现应在任何映射操作中包括由范围[pa,pa + len]指定的任何部分页面.
但我不确定,我对POSIX没有多少经验.
谢谢agian.