news 2026/1/25 11:59:02

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【软考每日一练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)规则。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/21 23:41:44

Comsol 中浆液扩散模型:注浆过程的数字化洞察

comsol注浆,浆液扩散模型在岩土工程、建筑施工等诸多领域,注浆是一项关键技术,它能有效改善土体性质、增强结构稳定性。而理解浆液在地下的扩散规律至关重要,借助 Comsol 建立浆液扩散模型,可让我们在虚拟环境中深入探…

作者头像 李华
网站建设 2026/1/23 12:24:39

2026中专生考大数据与财务管理专业学习指南

行业需求与就业前景数据分析在财务领域的应用日益广泛,企业需要能够处理财务数据并从中提取价值的专业人才。掌握数据分析技能可提升就业竞争力,尤其在金融科技、企业财务分析等岗位需求旺盛。大数据与财务管理专业结合了传统财务知识与现代数据技术&…

作者头像 李华
网站建设 2026/1/22 16:37:43

手把手教你降AI不伤文:保姆级操作让论文既通过检测又保持专业

手把手教你降AI不伤文:保姆级操作让论文既通过检测又保持专业 TL;DR:降AI率最怕的就是把专业术语改没了、论文变得不伦不类。本文教你如何实现「降AI不伤文」:选对工具(推荐嘎嘎降AI)、分段处理、处理后校对。掌握这套…

作者头像 李华
网站建设 2026/1/25 4:11:18

小程序毕设选题推荐:基于django+微信小程序的健康生活系统个人健康生活平台小程序【附源码、mysql、文档、调试+代码讲解+全bao等】

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

作者头像 李华
网站建设 2026/1/22 3:31:18

微分方程一维抛物热传导方程数值解法全解析

微分方程一维抛物热传导方程向前向后欧拉C-N格式二阶BDF格式MATLAB源码 显式欧拉,隐式欧拉,梯形公式,改进欧拉 五点差分,九点差分 差分格式,紧差分格式 直拍,只有pdf版方法说明 word版 公式纯手打 数值例子…

作者头像 李华
网站建设 2026/1/22 22:18:31

图像金字塔与直方图

在计算机视觉领域,图像金字塔与直方图是两大基础且实用的技术。图像金字塔用于处理不同分辨率的图像,广泛应用于图像融合、超分辨率重建等场景;直方图则用于描述图像像素分布,是图像增强、阈值分割的核心工具。本文将结合完整代码…

作者头像 李华