段式存储和页式存储是计算机系统中用于管理内存的一些重要技术,尤其是在内存管理和虚拟内存机制中。
这部分考点可能会考察概念的理解,也可能会出现部分需要计算的题目。
关注公众号“月上老狗”,发送“软件设计师”,获取历年软件设计师软考真题。
段式存储(Segmentation) 是一种内存管理方案,它将程序和数据划分为若干个段(Segment)。每个段有一个段号和一个段内地址。
段式存储的主要特点和考点包括:
逻辑地址由段号和段内地址组成。地址转换通过查段表实现,将逻辑地址转换为物理地址。地址转换公式:
物理地址 = 段基址 + 段内地址
页式存储(Paging) 也是一种内存管理方案,它将内存划分为固定大小的页(Page)和页框(Frame)。
逻辑地址由页号和页内偏移组成。地址转换通过查页表实现,将逻辑地址转换为物理地址。地址转换公式:
物理地址 = 页框基址 + 页内偏移
段页式存储(Segmented Paging) 结合了段式存储和页式存储的优点。
在《软件设计师》考试中,关于段式存储和页式存储的考点主要包括:
在一个页式存储管理系统中,假设逻辑地址空间为 16
位,页大小为 4KB
。已知某个逻辑地址为 0x3A45
,请计算该地址存储在物理内存的哪个页框中,假设页表如下:
逻辑页 | 物理页 |
---|---|
0 | 3 |
1 | 5 |
2 | 1 |
3 | 7 |
4 | 2 |
5 | 6 |
6 | 4 |
7 | 0 |
页大小为 4KB
,即 2^12
字节。因此,逻辑地址的低 12
位为页内偏移,高 4
位为页号。
逻辑地址为 0x3A45
(16
进制),转换为二进制为:0011 1010 0100 0101
。
页号:高 4
位 0011
,即 3
(十进制)。
页内偏移:低 12
位 1010 0100 0101
,即 0xA45
(十进制为 2629
)。
页表显示页 3
映射到页框 7
。
物理页框号为 7
,物理页框基地址为页框号乘以页大小。
页大小为 4KB
,即 4096
字节。
页框基地址 = 7 × 4KB
= 7 × 4096
= 28672
(十进制)或 0x7000
(16
进制)。
物理地址 = 页框基地址 + 页内偏移。
物理地址 = 0x7000 + 0xA45 = 0x7A45
。
0x3A45
对应的物理地址是 0x7A45
。该地址存储在物理内存的页框 7
中。本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!