当前位置: 首页 > ops >正文

mmap机制

先看这个 MMAP 机制通俗易懂-CSDN博客

一句话  
**mmap(memory map)是操作系统提供的“把文件或设备直接映射到进程虚拟地址空间”的机制,Java 里对应 `MappedByteBuffer`。**

---

### 1. 技术本质  
- 系统调用:`mmap()`(POSIX)、`CreateFileMapping`(Windows)。  
- 作用:把一段**文件内容**或**物理设备内存**变成一段**可以像内存一样访问的地址**。  
- 读文件不再用 `read()`,写文件不再用 `write()`,而是像访问数组一样 `buffer[i]` 即可。

---

### 2. 工作流程(简化版)

```
磁盘文件 page-cache ←→ 进程虚拟地址空间
                     ↑
               缺页中断按需加载
```

- **第一次访问**某个页 → 缺页中断 → 内核把对应磁盘块读进页缓存 → 建立映射 → 后续就是纯内存访问。  
- **写操作** → 修改页缓存 → 由内核异步刷盘(`msync`/`force()` 可强制同步)。  

---

http://www.xdnf.cn/news/16420.html

相关文章:

  • 2.qt调试日志输出
  • 《C++》STL--string详解(上)
  • vue3报错:this.$refs.** undefined
  • 在Podman/Docker容器中为Luckfox Lyra Zero W编译SDK:终极排错指南
  • Linux实战:从零搭建基于LNMP+NFS+DNS的WordPress博客系统
  • yolo11分类一键训练工具免安装环境windows版使用教程
  • 小白成长之路-Ansible自动化(一)
  • 20250707-2-Kubernetes 网络-Ingress暴露应用(http与https)_笔记
  • LeetCode 60:排列序列
  • 10.模块与包:站在巨人的肩膀上
  • MySQL ROUTER安装部署
  • 网络配置实验报告:主机间通信配置
  • python---eval函数
  • Day44 Java数组08 冒泡排序
  • 51核和ARM核单片机OTA实战解析(二)
  • day062-监控告警方式与Grafana优雅展示
  • 【通识】设计模式
  • Ashampoo Background Remover(照片去背景工具) v2.0.2 免费版
  • MyBatis-Plus IService 接口全量方法实现与测试(续)
  • 【Python系列】从内存分析到性能剖析
  • 【c++】从 “勉强能用” 到 “真正好用”:中文问答系统的 200 行关键优化——关于我用AI编写了一个聊天机器人……(16)
  • HBuilder X打包发布微信小程序
  • 详解力扣高频SQL50题之180. 连续出现的数字【困难】
  • Product Hunt 每日热榜 | 2025-07-27
  • 如何思考一个动态规划问题需要几个状态?
  • J2EE模式---服务层模式
  • springboot基于Java与MySQL库的健身俱乐部管理系统设计与实现
  • 【前后端】node mock.js+json-server
  • vscode找不到python解释器的解决方案
  • listen() 函数详解