操作系统多级存储模型
操作系统存储模型
操作系统中的多级存储模型
目标:在速度和成本之间做平衡,通过“分级+动态切换”,实现大容量 + 高效率的存储系统。
操作系统如何动态切换不同层级?
操作系统通过 缓存机制、虚拟内存、分页调度 等策略,自动完成不同层级间的数据切换,下面是关键机制:
1️⃣CPU 缓存机制(由硬件主导)
- Cache 命中(Hit):CPU 直接从 Cache 读;
- Cache 不命中(Miss):CPU 从内存读,并加载到 Cache;
- 替换算法:如 LRU(最近最少使用)决定 Cache 中淘汰谁。
⚠️ 这个过程完全由硬件控制,操作系统感知不到。
2️⃣ 虚拟内存机制(操作系统控制)
- 每个进程有自己的虚拟地址空间,操作系统负责映射到真实物理内存;
- 如果某个虚拟页没有在内存中 → 触发 缺页中断(Page Fault);
- 操作系统从磁盘(如 swap 分区)中加载页面;
- 如果内存已满,可能需要 淘汰一个页(写回磁盘)再加载;
- 核心算法:
- 页表(Page Table)管理映射;
- 页面置换算法:LRU(最近最少使用)、Clock(最近未使用)、FIFO 等;
- swap 分区或 swap 文件支撑磁盘⇄内存动态交换。
3️⃣ 文件系统缓存(Page Cache / Buffer Cache)
- 当你访问文件时,操作系统会:
- 把文件读取到 Page Cache 中;
- 再提供给应用程序使用;
- 如果再次访问同一文件,就直接命中缓存,避免磁盘 IO。
4️⃣ 应用层/分布式缓存(更高层)
- Redis、Memcached 等是业务层的缓存;
- OS 并不直接管理,但它们利用内存加速了访问。