存储管理
https://www.bilibili.com/video/BV1hg411V7Bm?p=37
1)存储管理的基本概念
存储管理:目的是解决多个用户使用主存的问题。
存储方式分类:
- 分区存储管理
- 分页存储管理
- 分段式存储管理
- 段页式存储管理
- 虚拟存储管理
相对地址/虚地址/逻辑地址:在目标程序中,程序指令和数据的位置参照字或字节单位根据它们的相对顺序来确定,称为相对地址,一般从0开始依次进行编号。
相对地址空间通过地址再定位机构转换到绝对地址空间(物理地址空间)。
2)存储方式:分区存储管理
分配办法 | 单一连续分配 | 固定分区分配 | 可变分区分配 |
分配类型 | 静态分配法 | 静态分配法 | 动态分配法 |
分配特点 | 不分区,所有用户空间给某个进程或作业 | 分成大小不等的区域,区域分完后固定不变 | 分成大小不等的区域,根据用户要求动态分配 |
单一连续分配示意图
固定分区分配示意图
可变分区分配示意图
2)存储方式:分页存储管理
优点:利用率高,碎片小,分配及管理简单。
缺点:增加了系统开销;可能产生抖动现象。
2)存储方式:分段存储管理
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
2)存储方式:段页式存储管理
https://www.bilibili.com/video/BV1hg411V7Bm?p=38
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。
2)存储方式:虚拟存储管理
虚拟存储器:利用外部辅存暂存主存待加载的数据,组成主存+辅存的虚拟存储结构。
虚拟存储器的最大容量是由计算机系统的地址结构和外存空间决定的。
采用虚拟存储器的目的是扩大用户的地址空间。
局限性:时间局限性、空间局限性
实现方式:请求分页系统、请求分段系统、请求段页式系统。
页面置换算法:最佳置换算法、先进先出置换算法、最近最少未使用置换算法、最近未用置换算法。
例:在一个虚拟系统中,进程的内存空间为3页,开始内存为空,有以下访问页序列:
5 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 5,分别计算缺页次数。
(1)使用先进先出的页面淘汰算法。
(2)使用最近最少使用算法。
5 | 0 | 1 | 2 | 0 | 3 | 0 | 4 | 2 | 3 | 0 | 3 | 2 | |
FIFO | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | |||
淘汰 | 5 | 0 | 1 | 2 | 3 | 0 | 4 | ||||||
LRU | √ | √ | √ | √ | √ | √ | √ | √ | √ | ||||
淘汰 | 5 | 1 | 2 | 3 | 0 | 4 |
考点1:分页存储地址转换
某计算机系统页面大小为4K,进程P的页面变换表如下图所示。
页号 | 页内地址 |
---|---|
0 | 1 |
1 | 3 |
2 | 4 |
3 | 6 |
若进程P要访问逻辑地址25EFH(十六进制),那么经过地址变换后物理地址应为()。
A、15EFH
B、35EFH
C、45EFH √
D、65EFH
解题思路1:
分页存储管理前面是页号,后面是页内地址,页内地址用多少位表示,就表示页面大小:4K用12位二进制表示。
逻辑地址25EFH是十六进制表示(后面的H是十六进制的意思),12位二进制转就是3位的十六进制;
所以逻辑地址25EF中5EH三位是页内地址,那么最前面的一位“2”就是页号;
最后根据页面变换表得知页号“2”对应的页内地址是“4”,页内地址是相对地址不会变,所以经过地址变换后物理地址就是“45EFH”
解题思路2:
页面变换表中页号只有一位数字,我们又知道逻辑地址都是页号+页内地址,
那么逻辑地址25EF中2就是页号5EF就是页内地址,
我们又知道页内地址相对地址不会,
再根据页面变换表得到地址变换后的物理地址就是“45EFH”
考题2:页数和页面大小判断
假设页式存储管理系统中的地址结构如下图所示,则系统()。
A、最多可有2048个段,每个段的大小均为2048个页,页的大小为2K
B、最多可有2048个段,每个段最大允许有2048个页,页的大小为2K
C、最多可有1024个段,每个段的大小均为1024个页,页的大小为4K
D、最多可有1024个段,每个段最大允许有1024个页,页的大小为4K √
解题思路:
页的大小由页内地址决定,页内地址是 0~11 一共12位,212=4K;
划分段后每个段的页数是不确定的,可多可少,所以均为多少,而是最大允许有多少。
考点3:缺页处理
在请求分页系统中,当运行进程访问的页面不在主存且主存中没有可用的空闲块时,系统应该先产生缺页中断,然后依次按照()的顺序进行处理。
A、决定淘汰页→页面调出→页面调入 √
B、决定淘汰页→页面调入→页面调出
C、页面调出→决定淘汰页→页面调入
D、页面调出→页面调入→页面调出
考点4:虚拟存储器
以下关于虚拟存储器的叙述中,正确的是()。
A、虚拟存储器的容量必须等于主存的容量 主存+辅存
B、虚拟存储器的容量是高速缓存、主存和辅存的容量之和
C、虚拟存储器由应用程序来实现信息调度和管理
D、虚拟存储器由硬件和操作系统来实现信息调度和管理 √
解题思路:
A、虚拟存储器的容量<=主存+辅存
B、虚拟存储器的容量是主存和辅存的容量之和,不包括高速缓存
总结
存储管理方式
- 分区存储管理:静态分区分配和动态分区分配
- 分页存储管理:每页大小相同,页号表示页的范围,页内地址表示每页容量
- 分段存储管理:每段的大小不等,段号表示段的范围,段内地址表示每段的最大的容量
- 段页式存储管理:先将用户程序分成若干个段,再把每个段分成若干个页
- 虚拟存储管理:
- 利用外部辅存暂存主存待加载的数据,组成主存+辅存的虚拟存储结构,扩大用户的地址空间或者说是内存空间
- 最大容量是由计算机系统的地址结构和外存空间决定的
- 方式:页面置换算法