发布时间:2026/8/9 1:12:14
计算机操作系统27,28 第二十七课虚拟内存Virtual Memory一、什么是虚拟内存一句话虚拟内存是一种让程序感觉自己拥有比实际内存更大空间的技术。例如你的电脑实际8GB RAM但是程序看到几十GB地址空间为什么因为操作系统把一部分内容放内存。一部分内容放硬盘。需要时再调入。类似你的书桌。桌子只能放10本书。但是你有100本书。怎么办不会把100本全部摊桌上。而是桌上放正在看的10本。其他放书柜。需要再换。对应书桌 内存 书柜 外存硬盘 换书 页面调入调出二、为什么需要虚拟内存主要有三个原因。1. 运行大程序以前程序必须全部装入内存。现在不用。例如大型软件100GB。电脑16GB内存。仍然可以运行。因为只加载当前需要部分。2. 提高内存利用率如果10个程序。每个只用20%。以前全部加载浪费。现在只加载需要部分。可以运行更多程序。3. 保护进程每个程序拥有自己的虚拟地址空间。互不影响。三、虚拟内存的核心思想记住一句话离散装入按需调入。什么意思离散装入程序不用连续放。还是分页。按需调入需要哪一页。才加载哪一页。所以虚拟内存建立在分页基础上。四、请求分页系统★★★★★现代操作系统主要使用请求分页存储管理。名字拆开请求需要时才加载。分页程序分成页面。系统开始运行只加载部分页面。例如程序有100页。启动只加载10页。其他不加载。运行访问第50页。发现没有。怎么办产生缺页中断五、什么是缺页中断重点缺页意思当前需要的页面不在内存。例如程序访问页20。页表发现页20 × 不在内存于是发生缺页中断。流程CPU访问页面 ↓ 检查页表 ↓ 发现页面不在内存 ↓ 缺页中断 ↓ 操作系统处理 ↓ 从硬盘调入页面 ↓ 更新页表 ↓ 继续执行六、缺页中断为什么特殊普通中断例如键盘输入。CPU暂停。处理。缺页中断更复杂。因为它需要访问外存。外存很慢。所以缺页代价很高。七、页表中的关键位为了支持虚拟内存页表增加一些信息。① 状态位存在位表示页面是否在内存。例如1在内存 0不在内存② 访问字段记录页面最近是否被访问。后面页面置换算法会使用。③ 修改位表示页面是否被修改。为什么重要因为如果页面没修改。换出去不用写回硬盘。八、虚拟内存工作流程完整过程程序运行 ↓ CPU产生逻辑地址 ↓ 查页表 ↓ 页面存在 ↓ 是 ↓ 访问内存 否 ↓ 缺页中断 ↓ 寻找空闲页框 ↓ 调入页面 ↓ 更新页表 ↓ 继续运行九、局部性原理★★★★★为什么虚拟内存有效因为程序运行有规律。这个规律叫局部性原理。分两种1. 时间局部性意思最近访问过的数据很可能马上再次访问。例如循环for(i0;i100;i){sum;}sum一直使用。2. 空间局部性意思当前访问附近的数据也可能被访问。例如数组a[0]a[1]a[2]通常连续访问。因为存在局部性。所以不用一次加载全部程序。十、虚拟内存的问题虚拟内存很好。但是有一个风险。如果内存太小。程序频繁换入换出。会发生什么CPU大部分时间不是运行程序。而是在搬页面。这种现象叫抖动Thrashing例如学生桌子太小。一本书刚拿出来。马上又放回去。换另一本。一直整理。没有学习。计算机也是一样。十一、本课重点总结★★★★★必须掌握虚拟内存定义让程序逻辑上拥有比物理内存更大的空间。核心思想按需调入 离散存储请求分页需要哪页加载哪页。缺页中断页面不在内存。产生中断。局部性原理为什么虚拟内存有效时间局部性空间局部性抖动频繁页面交换。导致系统性能下降。十二、口诀虚拟内存程序不用全装入需要哪页调哪页。缺页页不在产生中断调入后继续干。局部性刚用还会用附近也可能用。第二十八课页面置换算法Page Replacement Algorithm一、为什么需要页面置换假设内存只有3个页框。现在已经装入页1 页2 页3来了页4。怎么办内存满了。必须选择一个页面换出去。这个过程叫页面置换Page Replacement二、页面置换的目标目标很简单尽量减少缺页次数。为什么因为缺页需要访问硬盘。而硬盘非常慢。所以好的算法应该预测哪个页面以后最不需要。三、算法一最佳置换算法 OPT★★★★★OPTOptimal。中文最佳置换。思想淘汰未来最长时间不会被访问的页面。注意关键词未来。例如当前内存1 2 3下一次访问4未来访问序列1 2 5 1 3 4问换谁看三个页面未来什么时候再次出现。页1马上出现。页2后面出现。页3较晚出现。所以淘汰页3。四、OPT的特点优点理论上最好。缺页次数最低。缺点现实中无法实现。为什么因为操作系统不知道未来。所以OPT主要用于比较其他算法。考试经常问哪个算法缺页最少答案OPT。五、算法二FIFO★★★★★FIFOFirst In First Out。中文先进先出。思想谁最早进入内存就淘汰谁。类似排队买票。最早排队的人先离开。例如三个页框。访问1 2 3 4过程开始空。访问1[1]访问2[1 2]访问3[1 2 3]访问4满了。谁最早页1。淘汰页1。结果[4 2 3]六、FIFO的问题Belady异常★★★★★这是考试重点。正常想内存越大。缺页越少。但是FIFO可能反而更多。这叫Belady异常。例如3个页框缺页9次。增加到4个页框缺页10次。反而增加。为什么因为FIFO只看进入时间。不看使用情况。七、算法三LRU★★★★★LRULeast Recently Used。中文最近最久未使用。思想淘汰最长时间没有被使用的页面。它比FIFO聪明。因为利用局部性原理。例如当前内存1 2 3访问页4。看最近使用情况。如果页1很久没访问。页2刚访问。页3也刚访问。淘汰页1。八、LRU为什么有效因为程序具有时间局部性。如果一个页面很久没使用。那么近期大概率也不会使用。所以LRU性能接近OPT。九、三种算法比较★★★★★算法依据优点缺点OPT未来访问最好无法实现FIFO进入时间简单可能Belady异常LRU过去访问效果好实现复杂口诀OPT看未来 FIFO看年龄 LRU看最近十、缺页次数计算方法重点考试通常给访问序列。例如页访问7 0 1 2 0 3 0 4页框3个。问FIFO缺页次数。步骤画表。例如访问 7 0 1 2 0 3 框1 7 7 7 2 2 2 框2 0 0 0 0 3 框3 1 1 1 1每次新页面进入算一次缺页。十一、一个简单例子页面1 2 3 1 4三个页框。访问1缺页。内存1访问2缺页。1 2访问3缺页。1 2 3访问1已经存在。不缺页。访问4没有。缺页。总缺页4次。十二、LRU和FIFO容易混这是很多人的坑。FIFO问谁进去最早例如进入顺序 1 2 3换1。LRU问谁最近最久没用例如最近3刚用 2刚用 1很久没用换1。可能结果一样。但是判断方法不同。十三、Clock算法了解真实系统很少直接使用纯LRU。因为记录访问时间成本高。所以出现Clock算法。思想模拟LRU。每个页面有一个访问位0 / 1访问设置1。置换寻找访问位为0的页面。408一般重点OPT、FIFO、LRU。十四、本课重点总结★★★★★必须掌握OPT淘汰未来最长时间不用。理论最优。FIFO淘汰最早进入内存页面。可能产生Belady异常。LRU淘汰最近最长时间没使用页面。利用局部性。缺页次数计算画表模拟。十五、最终口诀页面置换最佳看未来 先进看进入 最近看过去

相关新闻

2026/8/9 1:12:14

降重降AIGC率AI工具实测推荐

你可能刚用大模型写完论文,查重时却发现AIGC疑似率高达40%、60%,甚至更多。导师和审稿系统对AI生成内容越来越敏感,仅靠通用的降重降AIGC的AI改写很难通过检测。你急需的,是一套真正能把AIGC率降到安全线以下的方案。 经过一个月…

2026/8/9 1:12:14

光伏逆变器无功响应建模与分布式电源优化配置

1. 光伏电站无功响应特性与分布式电源配置的挑战在新能源电力系统中,光伏电站的无功响应能力直接影响着电网的电压稳定性。传统观点认为光伏逆变器只能提供有限的无功支撑,但现代光伏电站通过智能逆变器控制已经可以实现毫秒级的动态无功响应。这种快速的…

2026/8/9 2:02:18

3分钟搞定Axure RP中文界面:终极汉化包完全指南

3分钟搞定Axure RP中文界面:终极汉化包完全指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 你是否还在为Axure R…

2026/8/9 2:02:18

SpaceX+英伟达Starmind AI1 — 太空AI算力卫星架构深度解析

一、引言:当算力离开地球 2026年8月4日,SpaceX发布了上市以来首份季度财报,营收78亿美元,同比增长92%。同一天,埃隆马斯克在X平台上投下了一枚真正的重磅炸弹:SpaceX将与英伟达联合设计Starmind AI1卫星计算载荷,每颗卫星搭载英伟达Rubin GPU和Vera CPU,将数据中心级算…

2026/8/9 2:02:18

OpenClaw软件安装包纯净安全,TopClaw三步免费满血开箱直连飞书

大家平时装软件,最怕什么?不是功能不够强,而是装了一堆“全家桶”却不知道。尤其是开发工具,一不小心就带上了广告弹窗、后台服务,甚至更严重的安全隐患。最近我在研究办公自动化,发现OpenClaw这个开源项目…

2026/8/9 2:02:18

EXE软件怎么加密?不用源码,一键加壳+网络验证

独立开发者的痛点:软件写好了,不会写验证系统,没有源码,想保护EXE不被破解。今天分享一个不用源码、不用搭服务器的一键加密方案。 一、没有源码怎么保护EXE? 很多开发者会遇到这种情况: 源码丢了&#xf…

2026/8/9 1:57:18

Python文本特征分析:从NLP基础到笔迹鉴定辅助系统构建

在实际生活中,我们常常会遇到需要处理文本、识别笔迹或验证文档真实性的场景,尤其是在涉及法律、财务或重要个人事务时。虽然“肉眼”观察有时能凭借经验发现端倪,但缺乏客观、可量化的证据支持。从技术角度看,这背后涉及一个核心…

2026/8/9 0:01:56

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:56

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/9 0:01:56

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:56

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/7 9:44:18

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/7 19:03:32

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/8 2:17:42

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…