十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

软考软件设计师/系统架构设计师必考:存储管理(分区、页式、段式、段页式、页面置换算法)最全详解

软考软件设计师/系统架构设计师必考:存储管理(分区、页式、段式、段页式、页面置换算法)最全详解 目标一文彻底掌握软考上午题中“存储管理”所有高频考点。包含连续分配单一连续、固定分区、动态分区、页式存储管理、段式存储管理、段页式存储管理以及页面置换算法OPT、FIFO、LRU、Clock的原理与计算。配大量例题与解题技巧看完这篇无需再翻其他资料。一、存储管理概述1. 存储管理的基本任务内存分配与回收为进程分配内存空间进程结束后回收。地址转换将逻辑地址相对地址转换为物理地址绝对地址。内存保护防止进程越界访问保证各进程空间独立。内存扩充通过虚拟存储技术从逻辑上扩大内存容量。2. 地址的基本概念逻辑地址程序员编程时使用的地址从0开始编号也称为相对地址、虚拟地址。物理地址实际内存单元的地址也称为绝对地址。地址转换由硬件MMU和操作系统共同完成逻辑地址到物理地址的映射。3. 存储分配方式分类方式特点碎片类型连续分配进程占用连续内存空间内部碎片/外部碎片离散分配进程可分散存储无外部碎片页式二、连续分配存储管理1. 单一连续分配原理内存只存放一个作业作业独占整个用户区。优点实现简单。缺点内存利用率低不支持多道程序。适用场景早期单用户单任务系统。2. 固定分区分配原理将内存事先划分为若干固定大小的分区每个分区装入一个作业。分区大小可相等或不等。优点实现简单支持多道程序。缺点产生内部碎片作业小于分区时剩余空间浪费。分区总数固定限制并发进程数。软考常考固定分区产生内部碎片。3. 动态分区分配原理根据作业实际大小动态分配内存空间分区大小不固定。优点灵活性好内存利用率高。缺点产生外部碎片大量小空闲区无法利用。解决方法碎片整理/紧凑将空闲区合并。动态分区分配算法算法规则特点首次适应FF从低地址开始找第一个满足要求的空闲区简单快速低地址碎片多最佳适应BF找最小满足要求的空闲区产生最多小碎片最差适应WF找最大空闲区剩余空间较大不易产生小碎片循环首次适应NF从上次分配位置开始查找分布更均匀例题1动态分区分配中最容易产生大量小碎片的是 。A. 首次适应 B. 最佳适应 C. 最差适应 D. 循环首次适应答案B解析最佳适应选择最小的合适空闲区剩余部分往往非常小难以再次利用产生大量外部碎片。三、页式存储管理1. 基本原理将进程逻辑地址空间划分为大小固定的若干页Page物理内存划分为同样大小的页框Page Frame又称帧。页和页框大小相同通常为4KB、2KB等2的幂次。进程以页为单位离散装入内存页与页框一一对应。2. 逻辑地址结构逻辑地址分为两部分页号 P页内偏移 W页内偏移 W由页大小决定页大小2^n偏移占n位。页号 P逻辑地址总位数减去偏移位数。例题2某系统逻辑地址16位页大小4KB求页号和偏移各占多少位。解析4KB 2^12偏移占12位。页号占16-12 4位。地址结构| P(4位) | W(12位) |3. 页表与地址转换页表记录进程每页对应的页框号。每个进程有自己的页表。页表项包含页框号、有效位是否在内存、保护位、访问位、修改位等。地址转换步骤从逻辑地址中提取页号P和偏移W。查页表得到页框号F。物理地址 F × 页大小 W或直接拼接F与W。例题3某系统页大小2KB逻辑地址为0x1A5B页表如下求物理地址。页号页框号051823312解析页大小2KB 2^11偏移占11位。逻辑地址0x1A5B 6747十进制。页号 6747 ÷ 2048 3偏移 6747 mod 2048 603 0x25B。查页表页号3对应页框号12。物理地址 12 × 2048 603 24576 603 25179 0x625B。4. 快表TLB页表存储在内存中每次访问数据需要先查页表一次内存访问再访问数据第二次内存访问效率降低。快表TLB存放在Cache中的小型页表存放近期使用的页表项。访问过程先查TLB命中则直接获得页框号未命中则查内存中的页表。5. 多级页表当逻辑地址空间很大时页表本身占用大量内存。采用多级页表对页表本身再分页建立外层页表。例32位地址页大小4KB采用两级页表结构为| 一级页号(10位) | 二级页号(10位) | 偏移(12位) |。6. 页式管理的优缺点优点无外部碎片内存利用率高。页大小固定地址转换简单。缺点有内部碎片最后一页可能未装满。页表占用内存空间。地址转换开销大需快表加速。四、段式存储管理1. 基本原理按程序的逻辑结构划分内存如代码段、数据段、堆栈段等。每段大小可变逻辑上完整。段内连续存储各段可离散分布。2. 逻辑地址结构段号 S段内偏移 D3. 段表与地址转换段表记录每段的段基址和段长。地址转换提取段号S和偏移D。查段表得到段基址B和段长L。检查D L否则越界中断。物理地址 B D。例题4某进程有段表如下求逻辑地址(1, 120)和(2, 500)对应的物理地址或结果。段号段基址段长010003001200020023000400解析(1,120)查段1基址2000长200120200合法物理地址20001202120。(2,500)查段2基址3000长400500400越界产生越界中断。4. 段式管理的优缺点优点符合程序逻辑便于共享、保护。段长可变灵活。缺点产生外部碎片。地址转换复杂。段长不等管理困难。五、段页式存储管理1. 基本原理先按逻辑结构分段每段内部再分页。结合段式的逻辑优势和页式的物理管理优势。2. 逻辑地址结构段号 S页号 P页内偏移 W3. 地址转换过程提取段号S、页号P、偏移W。查段表得到段基址该段的页表基址。查页表得到页框号F。物理地址 F × 页大小 W。4. 段页式的优缺点优点无外部碎片可共享保护。缺点地址转换需查两次表段表页表开销更大需快表加速。六、虚拟存储器与页面置换算法1. 虚拟存储器的原理基于局部性原理时间局部性和空间局部性进程无需全部装入内存即可运行。虚拟地址空间远大于物理内存。缺页时从外存调入所需页面内存满时按置换算法淘汰页面。2. 页面置换算法重点1最佳置换算法OPT规则淘汰将来最久不使用的页面。特点理论最优缺页率最低但无法实现需要预知未来用于评估其他算法。2先进先出算法FIFO规则淘汰最早进入内存的页面。特点实现简单但可能产生Belady异常增加页框数反而缺页次数增多。Belady异常FIFO特有现象即分配更多物理页面反而导致缺页率上升。3最近最少使用算法LRU规则淘汰最久未使用的页面。特点性能接近OPT但需要硬件支持记录访问时间或堆栈实现较复杂。4时钟算法Clock/NRU规则循环扫描页框检查访问位访问位为0则淘汰为1则清0并继续扫描。特点LRU的近似实现开销小常用。3. 缺页率计算缺页率 缺页次数 / 总访问次数例题5某进程分配3个页框页面访问序列为1,2,3,4,1,2,5,1,2,3,4,5。分别用FIFO和LRU计算缺页次数和缺页率。FIFO模拟访问页内存页框缺页11, -, -✓21,2,-✓31,2,3✓42,3,4淘汰1✓13,4,1淘汰2✓24,1,2淘汰3✓51,2,5淘汰4✓11,2,5×21,2,5×32,5,3淘汰1✓45,3,4淘汰2✓55,3,4×FIFO缺页次数 9缺页率 9/12 75%。LRU模拟访问页内存页框缺页11,-,-✓21,2,-✓31,2,3✓42,3,4淘汰1最久未用✓13,4,1淘汰2✓24,1,2淘汰3✓51,2,5淘汰4✓11,2,5×21,2,5×32,5,3淘汰1✓45,3,4淘汰2✓55,3,4×LRU缺页次数 9缺页率 9/12 75%。例题6接上题若页框数增加到4个FIFO算法缺页次数可能如何变化解析FIFO可能发生Belady异常增加页框后缺页次数可能不变或反而增多。七、存储管理方式对比对比项分区页式段式段页式划分单位连续区固定大小页逻辑段可变段内分页地址维度一维一维二维三维碎片内部/外部内部碎片外部碎片内部碎片共享保护困难较难容易容易地址转换简单一次查表一次查表两次查表逻辑结构不体现不体现体现体现八、软考常见题型与技巧题型一地址转换计算例题7某系统页大小1KB逻辑地址为0x3A2页表如下求物理地址。页号页框号07122935解析1KB 2^10偏移10位。0x3A2 930页号 930÷1024 0偏移 930。页框号7物理地址 7×1024 930 7168930 8098 0x1FA2。题型二碎片判断例题8页式存储管理中的碎片属于 。A. 外部碎片 B. 内部碎片 C. 无碎片 D. 既有内部也有外部答案B解析页式管理最后一页可能未装满产生内部碎片。题型三置换算法缺页率例题9下列页面置换算法中可能产生Belady异常的是 。A. OPT B. FIFO C. LRU D. Clock答案B解析FIFO算法可能产生Belady异常。九、易错点与注意事项页式管理无外部碎片但有内部碎片段式管理有外部碎片。页大小必须是2的幂次便于地址拆分。段式地址转换必须检查越界偏移 段长页式不需要页大小固定。OPT无法实现仅用于理论比较。FIFO有Belady异常LRU和OPT没有。逻辑地址转换物理地址先算页号逻辑地址÷页大小再查页表最后物理地址页框号×页大小偏移。段页式先查段表再查页表共两次查表。最佳适应产生小碎片最差适应产生大剩余区。十、总结与速记速记1存储管理方式分区连续分配固定分区内部碎片动态分区外部碎片。页式固定大小页表转换内部碎片。段式逻辑划分段表转换外部碎片需越界检查。段页式先段后页两次查表内部碎片。速记2地址转换页式物理地址 页框号 × 页大小 偏移。段式物理地址 段基址 偏移偏移 段长。段页式查段表→查页表→拼接。速记3页面置换算法OPT淘汰未来最久不用最优不可实现。FIFO淘汰最早进入可能Belady异常。LRU淘汰最久未用性能好。Clock访问位为0淘汰近似LRU。速记4碎片类型内部碎片分区/页内未用空间。外部碎片分区/段间未用空间。掌握以上内容配合历年真题练习存储管理部分即可轻松得分。建议重点练习页式地址转换、段式越界判断和页面置换算法缺页率计算。下期预告操作系统核心考点——文件管理目录结构、索引分配、位示图敬请关注。发布日期2026-09-10
返回列表