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

操作系统多级存储模型

操作系统存储模型

在这里插入图片描述

操作系统中的多级存储模型

目标:在速度和成本之间做平衡,通过“分级+动态切换”,实现大容量 + 高效率的存储系统。

操作系统如何动态切换不同层级?

操作系统通过 缓存机制、虚拟内存、分页调度 等策略,自动完成不同层级间的数据切换,下面是关键机制:

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 并不直接管理,但它们利用内存加速了访问。
http://www.xdnf.cn/news/1039879.html

相关文章:

  • 【AS32系列MCU调试教程】调试工具:Eclipse调试工具栏与窗口的深入分析
  • 《高等数学》(同济大学·第7版)第五章第一节定积分的概念与性质
  • 【多线程初阶】详解线程池(上)
  • 探险之物资储备c++
  • 多项目状态如何集中监控与汇总
  • uni-app项目实战笔记12--创建分类列表完成页面跳转
  • 解决在微信小程序中view组件下的text和images设置了样式display: flex; align-items: center;对不齐
  • layui在首页添加弹窗和跳转页面
  • Leetcode 398. 随机数索引
  • 设计师灵感仓库!IconViewer 右键一键提取系统图标,PNG 透明背景素材随取随用
  • Lyapunov深度强化学习移动边缘计算网络在线计算卸载python
  • MVVM模式中,BaseViewModel 的 IsBusy 属性的作用
  • Hexo-butterfly友情链接页面优化
  • 【Linux】进程优先级和切换调度
  • 【软测】脚本实现 - 网页自动化测试
  • linux-压缩类命令
  • 黑马教程强化day3-1
  • 2025虚幻引擎一般用什么模型格式
  • 【Linux系统编程】线程概念
  • 洛谷 P5716:月份天数 ← 闰年判断
  • leetcode_128 最长连续序列
  • stm32传感器通用驱动代码
  • 技术实录-从 MySQL 启动失败到大小写兼容恢复:一次完整故障排查复盘20250614
  • HEAD ` 只返回响应头(Headers),不返回正文内容(Body)
  • OD 算法题 B卷【路灯照明II】
  • C++如何自己实现一个shared_ptr
  • Flutter网络请求完全指南:http与Dio库深度解析
  • 如何安全高效地维护CMS智能插件?
  • JavaScript基础-DOM事件流
  • 零基础入门PCB设计 一实践项目篇 第二章(开发板电源设计)