【软考每日一练004】图解内存管理:分页存储地址转换与页面置换算法详解

【软考每日一练004】图解内存管理:分页存储地址转换与页面置换算法详解

1. 题目复现

题目描述:

进程 P 有 8 个页面,页号分别为 0~7,页面大小为 4K。假设系统给进程 P 分配了 4 个存储块,进程 P 的页面变换表如下所示。表中的状态位等于 1 和 0 分别表示页面在内存和不在内存。

页号页帧号状态位访问位修改位
0-000
17110
25101
3-000
4-000
53111
6-000
79110
  1. 若进程 P 要访问的逻辑地址为十六进制5148H5148H5148H,则该地址经过变换后,其物理地址应为十六进制( );
  2. 如果进程 P 要访问的页面 6 不在内存,那么根据页面置换算法,应该淘汰页号为( )的页面。

选项:

第一问:A. 3148H | B. 5148H | C. 7148H | D. 9148H

第二问:A. 1 | B. 2 | C. 5 | D. 9


2. 答案解析

第一问:物理地址转换

答案:A. 3148H

解析过程:

  1. 拆分逻辑地址:逻辑地址5148H5148H5148H是十六进制。
    • 页面大小为4K=2124K = 2^{12}4K=212字节,对应十六进制中的3 位(因为163=409616^3 = 4096163=4096)。
    • 因此,后三位148H148H148H页内偏移量(W)
    • 最高位5H5H5H页号(P)。即:P=5P = 5P=5
  2. 查表:找到页号为 5 的行。
    • 状态位为 1(说明在内存中)。
    • 对应的**页帧号(物理块号)**为 3。
  3. 组合物理地址:
    • 物理地址 = 页帧号 + 页内偏移量。
    • 将 3 与148H148H148H拼接,得到3148H3148H3148H

第二问:页面置换选择

答案:B. 2

解析过程:

该题考查的是改进型 Clock(时钟)置换算法(也称为 NRU 算法)。该算法根据(访问位 A,修改位 M)的组合来选择淘汰页。

  1. 确定候选页:只有状态位为 1(已在内存中)的页面才能被淘汰。
    • 页 1:(1, 0)
    • 页 2:(0, 1)
    • 页 5:(1, 1)
    • 页 7:(1, 0)
  2. 优先级规则:改进型 Clock 算法的淘汰优先级如下:
    • 第 1 类 (0, 0):最近未访问且未修改(最佳选择)。
    • 第 2 类 (0, 1):最近未访问但已修改。
    • 第 3 类 (1, 0):最近已访问但未修改。
    • 第 4 类 (1, 1):最近已访问且已修改。
  3. 匹配结果:
    • 内存中没有 (0, 0) 类型的页面。
    • 页号 2的属性是(0, 1),属于第 2 类,是当前优先级最高的淘汰对象。

3. 解题思路总结(干货)

3.1 宏观视角:为什么需要“页面”?

1. 什么是页面?物理载体是什么?

为了解决内存碎片问题,OS 把进程的逻辑地址空间分成若干个固定大小的区域,称为页面(Page)

  • 物理载体:页面是逻辑上的划分,它最终要存放到物理内存中。物理内存被对应地划分为等大的存储块(Storage Block),也叫**页帧(Page Frame)**或物理块。
  • 物理载体:存储块的物理载体就是计算机的RAM(内存条)
2. 页面大小是谁确定的?

页面的大小通常是222的幂次(如4KB4KB4KB)。

  • 谁确定:由硬件(CPU 架构)和操作系统共同确定。
  • 为什么有大小:页面太大,内存碎片(页内碎片)多;页面太小,页表就会变得臃肿。4KB4KB4KB是目前权衡后的主流标准。
3. 页号 vs 页帧号
  • 页号(Page Number):进程视角下的“逻辑编号”。

  • 页帧号(Frame Number): 内存条上实际存储位置的“物理编号”。

    页表的作用就是记录这两者的映射关系。它存储在内存中(系统区),由 MMU(内存管理单元) 硬件加速查询。


3.2 核心机制

在题目给出的页表中,除了映射关系,还有三个关键的状态位,它们由 MMU 在访问时自动触发变更,或由 OS 定期清理:

状态位含义触发变更时机
状态位 §页面是否在内存中页面调入内存置 1,换出置 0。
访问位 (A)最近是否被访问过只要 CPU 读/写该页,硬件自动置 1。
修改位 (M)页面内容是否被改过只有发生“写”操作时,硬件自动置 1。

3.3 原题目如果换一种规则

如果题目要求使用其他算法,结果会怎样?

  • FIFO(先进先出):无法判断。因为页表里没给“进入内存的时间”。如果假设按页号顺序进入,则淘汰页 1。
  • LRU(最近最久未使用):理论上淘汰页 2。因为页 2 的访问位为 0,而 1, 5, 7 访问位均为 1。LRU 认为 0 代表最久没用。
  • 当前主流算法:现实中的 Linux 和 Windows 并不使用纯粹的 LRU(因为开销太大),而是使用Clock 算法的变种WSL(驻留集管理)

4、 总结

  1. 页号看索引,页帧看内存。
  2. 地址转换:保持偏移量不变,只换“头”(页号换块号)。
  3. 置换算法:看到访问位和修改位,直接上NRU (0,0) > (0,1) > (1,0) > (1,1)规则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1185387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算术包实例:符号代数练习题

练习2.87 以下将对多项式进行算术包构建:点击查看代码 ;;通用操作 (define (add x y) (apply-generic add x y)) (define (mul x y) (apply-generic mul x y)) (define (=zero? x) (apply-generic =zero? x)) ;;多项…

导师严选9个一键生成论文工具,专科生毕业论文轻松搞定!

导师严选9个一键生成论文工具,专科生毕业论文轻松搞定! AI 工具如何让论文写作变得轻松高效 在当前的学术环境中,越来越多的专科生开始借助 AI 工具来辅助完成毕业论文。这些工具不仅能够帮助学生快速生成内容,还能在降低 AIGC 率…

大模型部署测试

目录查看模型路径压测命令安装压力测试工具或者用官方示例 Python 脚本实时监控显存/GPU使用率或者查看特定进程top 或 htop 实时查看或者更精确 查看模型路径 curl http://127.0.0.1:8000/v1/models {"object&qu…

从 EKF 到粒子滤波:定位技术的奇妙之旅与 QT 仿真实现

ekf 扩展卡尔曼滤波定位 qt仿真程序 粒子滤波定位在机器人定位与导航的领域中,扩展卡尔曼滤波(EKF)和粒子滤波是两种极为重要的算法,它们各有千秋,在不同场景下发挥着关键作用。今天咱就结合 QT 仿真程序,…

国产化建设:从“可替代”走向“可控可演进”

一、什么是“国产化”?不是换国产品牌这么简单很多人对“国产化”的理解停留在:把国外软件换成国产软件 把国外服务器换成国产服务器 把国外数据库换成国产数据库但真正的国产化并不是“换品牌”,而是三个层级的建设:1️⃣ 可替代…

PHP vs Python:开发者终极选择指南

性能比较PHP通常用于服务器端脚本,尤其在Web开发中表现优异,执行速度快,尤其在处理HTTP请求时效率高。Python作为通用语言,执行速度略慢于PHP,但因其易读性和丰富的库支持,适用于更广泛的场景,如…

想在 Java 八股文面试中脱颖而出?这1000 道互联网大厂面试题必不可少!

国内的互联网面试,恐怕是现存的、最接近科举考试的制度。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入 Design 轮(系统设计和面向对象设计 OOD)和 BQ 轮(Behavior…

9个高效降aigc工具推荐,本科生必看!

9个高效降aigc工具推荐,本科生必看! AI降重工具:论文写作的隐形助手 在当前学术环境中,越来越多的高校开始采用AIGC检测系统来评估论文的原创性。对于本科生而言,如何在保证内容质量的同时有效降低AI生成痕迹&#xff…

【毕业设计】基于django定制化ERP系统APP小程序(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

啃完阿里老哥这套Java面试八股文后,成功收获蚂蚁 offer

我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入 Design 轮(系统设计和面向对象设计 OOD)和 BQ 轮(Behavioral question,行为面试问题&…

不会建模也能做 3D?2D 原画“充气”变动画的逃课流

对于 2D 原画师来说,“伪 3D 动态” 是最头疼的需求。 想让纸片人转身、蠕动、膨胀,传统方法是画几十张序列帧,不仅还要懂透视,还得保证体积不崩,工作量堪比手绘动画。现在是 2026 年。 面对这种“2D 想要 3D 魂”的需…

致并肩前行的你:一封来自近屿智能的信

大家好。每当招聘季来临,空气中都弥漫着复杂的情绪。我们看到了那些令人羡慕的佳话,也听闻了许多现实的焦虑。我观察到这样一篇帖子,这同时也抛出了一个难题:当一方加速前进,而另一方仍在原地,那份曾经的亲…

源自新西兰的天然馈赠:Newo纽渥有机娟姗鲜牛奶,重新定义家庭健康饮奶标准 - 行业调研院

在追求品质生活的今天,一杯牛奶的选择,关乎的不仅是每日的营养补给,更是一个家庭对健康、纯净与安心生活的承诺。当我们将目光投向全球优质奶源带,来自新西兰怀卡托黄金海岸的Newo纽渥有机娟姗鲜牛奶,正以其无可比…

“微型应用“兴起:非开发者自主开发应用而非购买现成产品

Rebecca Yu花了七天时间编写了她的餐厅推荐应用。她厌倦了在群聊中因为无法决定去哪里吃饭而产生的选择困难症。凭借决心、Claude和ChatGPT的帮助,Yu决定从零开始构建一个餐厅应用——一个能够基于她和朋友们的共同兴趣推荐餐厅的应用。"一旦随性编程应用出现后…

day154—回溯—分割回文串(LeetCode-131)

题目描述给你一个字符串 s,请你将 s 分割成一些 子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。示例 1:输入:s "aab" 输出:[["a","a","b"],["aa",&qu…

历年CSP-J初赛真题解析 | 2019年CSP-J初赛

​欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战! 专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的…

OpenAI和Anthropic竞相布局医疗健康领域,AI医疗浪潮已至

AI公司正在快速向医疗健康领域聚集。仅在过去一周内,OpenAI收购了健康科技初创公司Torch,Anthropic推出了Claude for Health产品,而由萨姆奥特曼支持的Merge Labs以8.5亿美元估值完成了2.5亿美元种子轮融资。资金和产品正大量涌入健康和语音A…

day155—回溯—组合(LeetCode-77)

题目描述给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1:输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]示例 2:输入:n 1, k 1 …

探索机器视觉贴片机控制软件系统源码

机器视觉贴片机控制软件系统源码 机器视觉贴片机控制系统源码2套(全套源程序和图纸) 软件界面图片:嘿,各位技术小伙伴们!今天咱来唠唠机器视觉贴片机控制软件系统源码这有意思的玩意儿,而且咱手里还握着2套全套源程序和图纸呢&am…