内存映射 “ 就是在 进程的 ” 用户虚拟地址空间 " 中 , 创建一个 映射 , " 内存映射 " 有
2
种情况 , ① 文件映射 , ② 匿名映射 ;
文件映射 : 有 文件 支持 的 内存映射..., 将 指定文件 的 指定位置 指定大小 的数据 , 映射到 进程 " 用户虚拟地址空间 " 中 , 文件内容直接装载到该 虚拟内存 中 ;
匿名映射 : 没有 文件 支持 的 内存映射 , 只是将..." 物理内存空间 “ 映射到 ” 虚拟内存空间 " , 其中的数据是随机值 ;
二、内存映射原理
----
1、分配虚拟内存页
分配 虚拟内存页 : 在 Linux 系统中 创建 " 内存映射 “ 时..., 会在 ” 用户虚拟地址空间 “ 中 , 分配一块 ” 虚拟内存区域 " ;
2、产生缺页异常
缺页异常 : Linux 内核在分配 " 物理内存 “ 时 , 采用了 ” 延迟策略 “ , 即进程第一次访问...才可以 ;
如果修改了 进程间的 " 共享内存 " 对应的 " 文件映射 " , 修改后不会立刻更新到文件中 , 调用 msync 函数 , 强制同步写入到文件中 ;
四、进程内存段的内存映射类型