UNIX 文件 I/O 与标准 I/O 库详解
1. 用户文件 I/O
在文件 I/O 操作中,有几个关键的系统调用和概念需要我们深入了解。
1.1 mprotect() 与 msync() 系统调用
- mprotect() :
mprotect()函数用于修改内存映射区域的保护属性。其prot参数可以是PROT_READ、PROT_WRITE、PROT_EXEC、PROT_NONE或者它们的有效组合。需要注意的是,mprotect()调用指定的映射范围不必覆盖之前mmap()调用建立的整个映射范围。内核会进行一些舍入操作,确保len向上舍入到页面大小的下一个倍数。 - msync() :
msync()函数用于将内存映射的修改刷新到基础文件。其函数原型为:
#include <sys/mman.h>
int msync(void *addr, size_t len, int flags);
addr 和 len 组合指定的范围也不必覆盖整个映射范
超级会员免费看
订阅专栏 解锁全文
2586

被折叠的 条评论
为什么被折叠?



