虚拟内存

一、虚拟内存的基本概念

1、局部性原理

时间局部性

  • 空间局部性

2、虚拟内存的特征

多次性

  • 对换性
  • 虚拟性

虚拟内存

3、虚拟内存的实现

  • 请求分页存储管理
  • 请求分段存储管理
  • 请求段页式存储管理

二、请求分页管理

1、页表机制

  1. 状态位P
  2. 访问字段A
  3. 修改位M
  4. 外存地址

虚拟内存

2、中断机构

虚拟内存

  • 内中断(CPU内部)
    • 陷入、故障、终止
  • 外中断(CPU外部)
    • I/0中断请求
    • 人工干预

虚拟内存

3、地址变换机构

  • 请求调页,判断是否在内存
  • 可能需要页面置换
  • 新增/修改页表项
  • 热点表项同步到快表

虚拟内存

三、页面置换算法

虚拟内存

四、页面分配策略

1、驻留集

  • 分配空间小,进程数量多,CPU时间利用效率就高
  • 进程在主存中页数少,错页率就高
  • 进程在主存页数多,错页率并无明显改善

2、页面分配策略

  • 固定分配局部置换
  • 可变分配全局置换
  • 可变分配局部置换

五、调入页面的时机

1、预调页策略

  • 一次性调入若干相邻页面
  • 多用于进程首次调入

2、请求调页策略

  • 运行时发现缺页时调入
  • |/O开销较大

虚拟内存

3、从何处调页

  • 系统拥有足够的对换区空间
  • 系统缺少足够的对换区空间
  • UNIX方式

虚拟内存

虚拟内存

上一篇:openFeign远程调用丢失请求头


下一篇:在IDEA/CLion/PyCharm中使用LeetCode插件详解