概述:总结软件设计师考试中,操作系统-存储管理-分页管理的相关题型。
相关知识
存储管理的分类:
- 分区存储管理
- 分页存储管理(我总结的是这部分)
- 分段存储管理
- 段页式存储管理
- 虚拟存储管理
分页存储管理概念
分页存储管理是操作系统内存管理的一种重要方式,其核心思想是将进程的逻辑地址空间和物理内存空间都划分成固定大小的、等长的块。
逻辑地址空间划分:将一个进程的地址空间划分为若干个大小相等的区域,叫做页
物理地址空间划分:将主存空间划分为与页相同大小若干物理块,叫做块或框
通俗理解逻辑地址和物理地址:
以仓库的货物举例,
逻辑地址表示,某一件商品存放在第10个仓库第3排货架5行3列
物理地址表示,某一家商品存放在XXX市XXX路C仓库第3排货架5行3列
应用:高级程序语言使用逻辑地址;运行状态,内存中使用物理地址
页表:逻辑页和物理页的对应关系
注意:
- 物理地址 = 块号 + 块内地址
- 逻辑地址 = 页号 + 页内地址
- 块内地址 = 页内地址
(此图来自51CTO学堂)
题1:2025年上半年
题目:分页管理中逻辑地址由页面编号和偏移值构成。如下图所示,求页面大小和页数大小。(这种题目一般以字节(Byte)为单位)
页号:相当于书本里面的页码
页内地址 / 偏移量:相当于精准定位当前页号里面的内容位置,这段文字在第10行。能够精确指出当前的物理块在哪里。
页数大小 = 页号大小:31 - 12 + 1 = 20位二进制数。所以是 2^20 Byte = 1MB
每一个页号的页内地址大小 = 页面大小:11 - 0 + 1 = 12位二进制数。2^12 Byte = 4KB
题2
题目来源:希赛网B站视频
如下图,页式存储系统中,每一个页大小为4KB。其逻辑地址(二进制):10 1100 1101 1110。对应的物理地址(二进制)是多少?
由题目可知,一个页的大小为:4KB = 2^2 * 2^10 Byte = 2^12 Byte,所以得出是有12位的页内地址。
∵ 逻辑地址 = 页号 + 页内地址
∴ 逻辑地址(二进制):10 1100 1101 1110 中。后面12位1100 1101 1110是页内地址;前面2位10为页号。即 页号 = 2^2 = 4。
又∵ 根据如图的页表所示,页号为4对应的块号为6(十进制)= 110(二进制),
且 物理地址 = 块号 + 块内地址 = 110 1100 1101 1110(后面12位照抄即可,因为页内地址 = 块内地址)
所以对应的物理地址(二进制)是 110 1100 1101 1110。
题3
某分页存储管理中的地址结构如下图所示。若系统以字节编址,则该系统页的大小为()MB;共有()个页面。
问题1,该系统页的大小为()MB。问的是页内地址,一页的页内地址有多大;
问题2,共有()页面。问的是页号长度(一字就是一页)。
页号的位数 = 31 - 20 + 1 = 12(位);所以为 2^12 个 = 4096个页面
页内地址的位数 = 19 - 0 + 1 = 20(位);所以为2^20 Byte = 1MB
所以该系统页的大小为1MB;共有4096个页面。