软件设计师16--段页式存储
- 考点1:页式存储
- 存储管理 - 页式存储组织
- 存储管理 - 页面置换算法
- 例题:
- 考点2:段式存储
- 存储管理 - 段式存储组织
- 例题:
考点1:页式存储
存储管理 - 页式存储组织
页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
物理块号又称页帧号
逻辑地址=页号+页内地址
物理地址=页帧号+页内地址
例如:页式存储系统中,每个页的大小为4KB。
逻辑地址:10 1100 1101 1110
对应的物理地址为: 110 1100 1101 1110
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销;可能产生抖动现象
页号 (逻辑,高级程序语言中使用) | 页帧号 (物理,内存中使用) | 状态位 (1:在内存中 0:不在内存中) | 访问位 (1:最近访问过 0:最近未被访问) | 修改位 (1:内容被修改过 0:内容未被修改) |
---|---|---|---|---|
0 | 2 | 1 | 1 | 0 |
1 | 3 | 1 | 0 | 1 |
2 | 5 | 1 | 1 | 0 |
3 | - | 0 | 0 | 0 |
4 | - | 0 | 0 | 0 |
5 | 6 | 1 | 1 | 1 |
存储管理 - 页面置换算法
- 最优(Optimal,OPT)算法
- 随机(RAND)算法
- 先进先出(FIFO)算法:有可能产生“抖动”。例如:432143543215序列,用3个页面,比4个缺页要少
- 最近最少使用(LRU)算法:不会“抖动”,LRU的理论依据是“局部性原理”
时间局部性:刚被访问的内容,立即又被访问
空间局部性:刚被访问的内容,临近的空间很快被访问
例题:
1、某操作系统采用分页式存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为1K字节,那么进程A中逻辑地址为1024(十进制)的变量存放在,B)号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页4,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填(A)。
A、8
B、3
C、5
D、2
A、4、4
B、4、5
C、5、4
D、5、5
考点2:段式存储
存储管理 - 段式存储组织
段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长短可以不一样。
合法段地址:(0,25K)
非法段地址:(0,35K)
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
例题:
1、设某进程的段表如下所示,逻辑地址(B)可以转换为对应的物理地址。
A、(0,1597)、(1,30)和(3,1390)
B、(0,128)、(1,30)和(3,1390)
C、(0,1597)、(2,98)和(3,1390)
D、(0,128)、(2,98)和(4,1066)