计算机操作系统25,26
第二十五课分页存储管理Paging一、为什么需要分页先回顾动态分区。假设内存高地址 ---------------- 程序A ---------------- 空闲10MB ---------------- 程序B ---------------- 空闲20MB ---------------- 程序C ---------------- 空闲30MB现在来了一个程序需要50MB怎么办虽然空闲10203060MB但是没有连续50MB。所以放不进去。这就是外部碎片问题。分页的思想不要要求连续。例如程序需要50MB。拆成5个10MB。可以放内存 第1块 第7块 第20块 第35块 第100块只要有空间就可以。二、分页的基本思想分页把两个东西都切小。① 程序切成页Page也叫页面。例如程序大小16KB。规定每页4KB。那么分成4页。程序 页0 页1 页2 页3② 内存切成页框Frame也叫物理块。例如内存切成4KB一块。内存 块0 块1 块2 块3 ...注意非常重要页大小 页框大小为什么因为这样一页刚好放入一个页框。三、页和页框的关系程序看到页内存实际存放页框关系程序 页0 ↓ 内存 页框5 程序 页1 ↓ 内存 页框9所以必须有一个表记录对应关系。这个表叫页表Page Table四、页表是什么简单理解就是一个地址转换表。例如程序认为自己有4页。页表记录页号 页框号 0 → 5 1 → 9 2 → 3 3 → 8意思程序访问页0。操作系统查页表。发现页0在页框5。于是去物理内存第5块找。五、逻辑地址如何转换★★★★★这是分页最重要内容。CPU产生不是物理地址。而是逻辑地址。逻辑地址分成两个部分逻辑地址 页号 页内偏移例如逻辑地址页号 2 偏移量 100意思访问第2页里面第100个字节。转换第一步查页表。找到页2对应页框。例如页2 ↓ 页框8第二步组成物理地址物理地址 页框号 页内偏移所以得到页框8 偏移100六、一个完整例子重点假设页面大小4KB某逻辑地址8196问页号偏移第一步计算页号公式页号 逻辑地址 ÷ 页面大小也就是8196 ÷ 4096因为4KB4096字节。结果页号2第二步计算偏移公式偏移 地址 mod 页面大小所以8196 mod 4096得到偏移4所以逻辑地址8196 ↓ 页号2 偏移4七、为什么分页没有外部碎片因为所有空间都是固定大小。例如每页4KB。内存全部4KB块。不会出现10MB 20MB 30MB这种不连续空洞。但是分页有新的问题。八、分页的缺点内部碎片例如页面大小4KB。程序大小10KB。需要多少页计算10÷42.5必须向上取整3页。占3×412KB实际需要10KB。浪费2KB。这就是分页产生内部碎片。九、分页 vs 分区★★★★★连续分配分页要求连续需要不需要碎片外部碎片内部碎片管理单位分区页灵活性低高十、页表为什么重要因为分页之后程序地址不能直接找到内存。必须转换逻辑地址 ↓ 页表 ↓ 物理地址没有页表操作系统不知道页放在哪里。十一、分页系统运行流程完整过程CPU产生逻辑地址 ↓ 分成 页号 页内偏移 ↓ 查页表 ↓ 得到页框号 ↓ 组合 页框号 偏移 ↓ 访问内存十二、本课重点★★★★★今天必须掌握1. 分页思想把程序分成页把内存分成页框。2. 页和页框关系页大小 页框大小3. 页表作用记录页号 → 页框号4. 地址转换逻辑地址页号 页内偏移物理地址页框号 页内偏移5. 碎片分页没有外部碎片。但是有内部碎片。第二十六课快表TLB与多级页表一、为什么需要快表 TLB先回顾分页系统。CPU产生逻辑地址页号 页内偏移然后查页表。例如页表页号页框号05192338CPU访问页2。查页2 → 页框3然后访问页框3。问题页表在哪里答案也在内存。所以过程CPU ↓ 内存查页表 ↓ 得到地址 ↓ 内存取数据需要两次内存访问。二、TLB是什么TLB全称Translation Lookaside Buffer中文快表它是什么一句话存放最近常用页表项的小型高速缓存。注意TLB不是替代页表。而是页表的缓存。类似生活例子你家有一本通讯录。里面有所有人的电话。但是你经常联系的人号码你直接记脑子里。对应通讯录 页表 脑中记忆 TLB三、使用TLB后的地址转换流程变成CPU产生逻辑地址 ↓ 查询TLB ↓ 找到 ↓ 是 ↓ 直接得到页框号 ↓ 访问内存如果TLB没有找到怎么办再查页表。完整流程CPU ↓ TLB ↓ 命中 ↓ 是 → 得到页框 ↓ 否 ↓ 查页表 ↓ 更新TLB四、TLB命中率考试重点定义CPU访问的页号在TLB中找到的概率。叫命中率。记作α。例如命中率α80%意思100次访问80次TLB找到。20次查页表。五、地址转换时间计算★★★★★这是考试常考计算。假设条件TLB访问时间20ns内存访问时间100nsTLB命中率80%求平均访问时间。情况1TLB命中流程访问TLB ↓ 访问内存时间20 100120ns情况2TLB未命中流程访问TLB ↓ 访问页表 ↓ 访问数据时间20 100 100220ns平均时间公式有效访问时间 命中率×命中时间 未命中率×未命中时间代入0.8×120 0.2×220计算9644 140ns所以平均访问时间140ns六、为什么需要多级页表现在又出现一个问题。页表本身太大。举例一个程序地址空间32位。页面大小4KB。计算页数量2^32 / 2^12 2^20页也就是约100万个页。一个进程页表可能非常巨大。但是很多地址根本没有使用。例如程序实际只用了几个区域。代码区 ↓ 堆 ↓ 栈中间大量空白。如果建立完整页表浪费巨大。所以出现多级页表七、二级页表思想核心不要一次建立全部页表只建立需要的部分。以前一级页表页号 ↓ 页表 ↓ 页框二级页表拆开。例如32位地址分成一级页号 二级页号 页内偏移结构逻辑地址 ↓ 一级页表 ↓ 二级页表 ↓ 页框八、为什么多级页表节省空间假设程序只用了一小部分地址。那么一级页表只保存存在的二级页表地址。没有使用的不创建。类似目录。一本书如果每一页都建立目录。很浪费。所以先一级目录。需要再展开二级目录。九、页表项里面有什么考试可能问。一个页表项通常包括页框号 状态位 访问权限 修改位例如状态位表示页面是否在内存。权限位表示能否读写执行。修改位表示页面是否被修改。用于页面置换。后面会讲。十、本课核心总结1. TLB是什么页表项的高速缓存。作用提高地址转换速度。2. 地址转换顺序有TLBCPU ↓ TLB ↓ 页表 ↓ 内存3. TLB命中一次访问TLB 内存。4. TLB未命中需要TLB 页表 数据5. 多级页表目的减少页表占用空间。思想用多少建多少。十一、口诀★★★★★TLB先查快表命中直接走没命中再查页表。多级页表页表太大分级保存。

相关新闻

计算机操作系统27,28

计算机操作系统27,28

第二十七课:虚拟内存(Virtual Memory)一、什么是虚拟内存? 一句话:虚拟内存是一种让程序感觉自己拥有比实际内存更大空间的技术。例如: 你的电脑: 实际: 8GB RAM但是程序&#xff1a…

2026/10/17 3:40:05 阅读更多 →
降重降AIGC率AI工具实测推荐

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

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

2026/10/17 14:25:23 阅读更多 →
5个理由告诉你为什么选择LX Music:开源跨平台音乐聚合播放器的终极指南

5个理由告诉你为什么选择LX Music:开源跨平台音乐聚合播放器的终极指南

5个理由告诉你为什么选择LX Music:开源跨平台音乐聚合播放器的终极指南 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 在数字音乐时代,用户常常面临平台碎…

2026/10/16 18:21:14 阅读更多 →

最新新闻

ABAP Cloud 的 OLTP 开发,从数据增删改查走向完整的业务事务

ABAP Cloud 的 OLTP 开发,从数据增删改查走向完整的业务事务

采购申请页面上的保存按钮,背后通常不只有一次数据库写入。申请抬头需要保存,行项目需要关联,金额需要计算,供应商需要校验,当前操作者还必须具备相应权限。只要其中一项没有满足业务要求,系统就不能把这张申请当成一份完整、有效的业务单据。 这类围绕业务数据开展读取…

2026/10/19 2:00:28 阅读更多 →
从业务模型到服务交付,读懂 ABAP Cloud 架构图中的开发逻辑与 Clean Core 边界

从业务模型到服务交付,读懂 ABAP Cloud 架构图中的开发逻辑与 Clean Core 边界

图里有两块同名的 Integration Services,一块位于顶部,另一块位于底部。它们的位置很有讲究。顶部表示我们的应用把业务能力提供给其他系统,底部表示我们的应用调用其他系统的业务能力。同一个应用既可以是服务提供者,也可以是服务消费者,而中间的业务模型和业务逻辑负责把…

2026/10/19 2:00:28 阅读更多 →
【码动四季·秋】从第一次 issue 到 Committer:一个普通开发者的开源参与路径(附真实晋升时间线)

【码动四季·秋】从第一次 issue 到 Committer:一个普通开发者的开源参与路径(附真实晋升时间线)

本文为 AtomGit 码动四季开源同行征稿活动参与文章 摘要:从第一次 issue 到 Committer 的完整路径,恰好是教程最少、坑最多的部分。本文以本人 2024-2026 的真实晋升时间线为骨架,给出五阶段动作清单:选社区看三个健康指标&#x…

2026/10/19 2:00:28 阅读更多 →
Camera HAL 防抖—GME详解

Camera HAL 防抖—GME详解

Camera HAL 防抖—GME详解 文档定位:供开发、学习、问题定位使用。 本文与四篇 EIS 文档共享同一套「节点 + 算法库 + 陀螺仪」技术底座。GME 与 EISv3、GyroRNN 同源——三者都加载同一个算法共享库 com.qti.eisv3,但各自的节点封装、配置段、vendor tag 段、功能聚焦点各不…

2026/10/19 2:00:28 阅读更多 →
从数据交换到业务协同,理解 SAP ABAP 的集成应用场景

从数据交换到业务协同,理解 SAP ABAP 的集成应用场景

在 SAP 官方的差旅审批示例中,一条差旅记录的创建并不是业务流程的终点。运行在 SAP BTP ABAP environment 中的差旅应用创建记录后,需要启动 SAP Build Process Automation 中的审批流程,将差旅状态设置为待审批。审批人在任务收件箱中完成操作,审批结果再通过回调返回 AB…

2026/10/19 2:00:28 阅读更多 →
ESP32应用商店:固件模块化分发与动态加载实战

ESP32应用商店:固件模块化分发与动态加载实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 1:59:27 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →