Chapter 3. 内存管理
公式与性质
- 请求分页系统的内存分配策略
- 固定分配局部置换:为每个进程分配固定数目的物理块。若进程在运行中发生缺页,则只能从分配给该进程在内存的页面中选一页换出,然后再调入一页。
- 可变分配全局置换:为每个进程分配的物理块可动态变化。若进程在运行中发生缺页,则系统从空闲物理块队列中取出一块分配给该进程。
- 可变分配局部置换:为每个进程分配的物理块可动态变化。若进程在运行中发生缺页,则只能从分配给该进程在内存的页面中选一页换出,然后再调入一页,但系统可根据缺页率适当增减该进程可分配的物理块数目。
- 不存在固定分配全局置换。
概念
-
固定分区存储管理把内存中的用户区事先划分成若干个连续的分区,它们的尺寸相同/不同但不变,分区数固定,与多道并行的作业个数无关。
-
分区管理方式中,当内存碎片的容量大于某一作业申请的内存容量时,拼接(紧凑)后,可以为这一作业分配内存。
-
所有分区管理方式(单一连续分配、固定式分区分配、可变式分区分配)都需要连续的存储空间。
-
进程可以使用的最大地址空间只与地址位数有关。(虚拟内存的容量只受计算机地址位数的限制)
-
页式存储管理需要为每一个作业提供一个或多个页表,为每个进程提供一个页表。
-
物理内存与虚拟存储空间的大小关系不一定。
-
操作系统实现虚拟存储器需要地址转换机构、存储保护机构和中断机构等软硬件支持。
考点
-
在页式虚拟存储管理中,程序的链接方式必然是运行时动态链接。
-
采用运行时动态装入的进程,在其整个生命周期中允许操作系统有条件地(内存不足等时)将其在物理内存中移动。
-
若采用绝对装入技术,系统是在编译时完成的地址重定位。
在编译时就知道程序将放入内存中的位置,编译程序将产生绝对地址的目标代码。
-
动态重定位技术依赖于重定位寄存器。
-
分页存储管理中存储保护是通过页表完成的。
页表中的页表长度字段可以提供存储保护。
存储键是以作业为单位的。 -
页号一般指虚拟地址,页框号一般指物理地址。
-
分页存储管理无外部碎片;分段存储管理无内存碎片,只有外存碎片。
-
最容易产生内存碎片的是最佳适应算法。
-
某请求分页存储系统的页大小为 4KB ,按字节编址。系统给进程
P
分配 2 个固定的页框,并采用改进型Clock
置换算法,进程P
页表的部分内容如下:页号 页框号 存在位 访问位 修改位 \cdots \cdots \cdots \cdots \cdots 2 20H 0 0 0 3 60H 1 1 0 4 80H 1 1 1 \cdots \cdots \cdots \cdots \cdots 若
P
访问虚拟地址为02A01H
的存储单元,则经地址变换后得到的物理地址为60A01H
。该进程最多只能有两个页框,显然需要替换出页号 3 。
-
分页式虚拟存储管理系统中,页面的大小与可能产生的缺页中断次数大致成反比。
-
未指明可同时访问主存和快表时,计算快表未命中的时间为访问快表的时间 + 访问主存(访问页表)的时间 + 访问主存的时间。
-
采用固定分配局部置换策略时,若物理页面数增加,则作业的缺页率可能上升也可能降低也可能不变。
-
页缓冲队列位于磁盘中。
-
只有
FIFO
算法可能产生Belady
现象。 -
最佳置换算法最适用于减少抖动现象(尽管该算法不可能实现)。