operating system

思考如下问题

  1. 为什么要引入虚拟内存
  2. 虚拟内存空间的大小由什么因素决定
  3. 虚拟内存是怎么解决问题的?会带来什么问题?

1. 虚拟内存的基本概念

1.1 传统存储管理方式的特征

具有一次性、驻留性的存储器管理方法称为实存管理。

实存管理的缺点是逻辑空间不超过实际内存大小,同时存在的进程数目受限较大。

1.2 局部性原理

1.3 虚拟存储器的定义和特征

将大容量的外存作为内存的直接延伸,对内存、外存(交换区)实施统一管理。

虚拟存储器具有多次性和对换性。仅把进程的一部分调入内存即可运行。

1.4 虚拟内存技术的实现

2. 请求分页管理方式

  1. 固定页面分配

    按比例、考虑优先权。

  2. 平均分配算法

  3. 可变页面分配

  4. 局部页面置换策略

  5. 全局页面置换策略

    缺页时,系统从空闲物理块中分配一物理内存,如果没有,将内存页置换到外存。

2.1 页表机制

2.2 缺页中断机构

2.3 地址变换机构

3. 页面置换算法

3.1 最佳(OPT)页面置换算法

选择被置换的页面,将是永不使用的页面,或最长时间不适用的页面。

3.2 先进先出(FIFO)页面置换算法

选择最先进入内存的页面,即选择在内存中驻留时间最长的页面予以淘汰。

3.3 最近最久未使用(LRU)页面置换算法

选择最近最久未被使用的页面淘汰。利用移位寄存器实现

3.4 时钟(clock)置换算法

循环链表,如果为 1 则置零,如果为 0 换出。

3.5 改进型(clock)置换算法

多了访问位 A 和修改位 M

  1. 都为零则是最佳算法
  2. 否则找 A 为零的,同时置 A 为零。

4. 页面分配策略

4.1 驻留集大小

4.2 调入页面的时机

4.3 从何处调入页面

5. 抖动

6. 工作集

7. 地址翻译

8. 小结