【操作系统复习】第四章 第二节 虚拟内存

操作系统复习

第四章 存储管理

4.2 虚拟内存

一、虚拟内存
  • 常规存储管理方式的特征
    • 一次性:作业一次性装入内存
    • 驻留性:作业装入后一直驻留于内存
  • 局部性原理
    • 时间局部性:某些地址会在不久又被访问
      • 典型原因:程序中存在大量的循环操作
    • 空间局部性:某些地址附近的地址将被访问
      • 典型原因:程序的顺序执行,数据结构的处理
  • 虚拟存储器的特征
    • 部分装入
    • 多次交换
    • 虚拟扩充
    • 离散分配
  • 虚存管理实现技术
    • 请求分页
    • 请求分段
    • 请求段页
二、分页存储管理:4.1节详细讲述
三、请求分页存储管理:虚拟存储
  • 分页存储管理+请求调页功能+页面置换功能
  • 请求页表机制
    • 目的:发现页是否在内存中
    • 方法:页表项中增加中断位,1表示缺页中断
    • 页表表项:页号、块号、中断位、访问位、修改位
  • 缺页中断机构
    • 缺页中断与中断的区别
      • 相同点:保护现场 中断处理 恢复现场
      • 不同点
        • 一般中断在一条指令完成后中断,缺页中断一条指令执行时中断
        • 一条指令执行时可能产生多个缺页中断。如指令可能访问多个内存地址,这些地址在不同的页中。
  • 页面置换算法
    • 最佳置换算法 OPT
    • 先进先出页面置换算法 FIFO
      • Belady现象 :一个进程P要访问M个页,OS分配N个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(S,N)。当N增大时,PE(S,N)时而增大,时而减小。
      • Belady现象原因:FIFO算法完全没有考虑进程访问内存的动态特征,即被置换的页面并不是进程不会访问的。
    • 最近最少使用算法 LRU
  • 驻留集
    • 定义:OS给进程分配的物理块数/页面数目
      • 每个进程的驻留集越小,并行度越高,缺页率越高
      • 驻留集达到某个数目后,由于局部性原理,缺页率不再明显下降
    • 驻留集分配策略
      • 固定分配
        • 平均分配
        • 按比例分配
        • 按优先级分配
      • 可变分配
    • 页面置换范围
      • 全局置换:影响其他进程的缺页率
      • 局部置换:只换本进程的页
    • 组合策略
      • 固定分配+局部置换
      • 可变分配+全局置换
      • 可变分配+局部置换
  • 抖动
    • 现象 :多个进程剧烈竞争使用内存,某个进程没有获得足够的驻留集,导致大量缺页中断,使进程页面被频繁地在内存与外存之间换入、换出,系统效率急剧下降,这种现象称为颠簸或抖动。
    • 原因 :同时在系统中运行的进程太多,分配给每个进程的驻留集太少,无法满足进程正常运行基本要求,导致频繁缺页。
  • 工作集策略:解决驻留集太小带来的系统抖动
    • 定义:工作集是一个进程在虚拟时间t时在过去的个虚拟时间单位中被访问到的页的集合,可用一个二元函数W(t, )表示。
    • 监视每个进程的工作集
    • 周期性地从一个进程的驻留集中移去那些不在它的工作集中的页
    • 只有当一个进程的工作集在主存中时,才可以执行该进程
  • 缺页率及分析
    • 缺页率=缺页次数/全部访问内存次数
    • 影响缺页率的因素
      • 分配给进程的内存物理块数
      • 页面淘汰算法
      • 内存页本身的大小
      • 程序的编制方法
四、分段存储管理
  • 基本思想
    • 把程序划分为若干段
    • 把内存空间划分为若干段
    • 离散分配内存空间,每段的大小可以不相同
  • 段表
    • 段表表项:段起始地址+段长度
    • 地址变换
      • 逻辑地址:段号+段内地址
      • 页表工作:根据段号,查段起始地址
      • 物理地址:段起始地址+段内地址
    • 快表机制
  • 分段的共享与保护
    • 共享段表
    • 分段保护:越界检查
五、请求分段存储管理:虚拟存储
  • 分段存储管理+请求调段机制+段置换功能
  • 请求段表机制
    • 特征位:在不在内存,可不可共享
    • 存取权限位:读、写、执行
    • 标志位:是否修改,能否移动
    • 扩充位:能否扩充
六、段页式存储管理
  • 基本思想
    • 将用户程序分段,段再分页
    • 将内存空间分页
    • 1页对应1页
  • 逻辑地址:段号+页号+页内地址
  • 段表:段号→页表始址+页表长度
  • 页表:页号→内存块号
七、虚存管理其他问题
  • 调入策略
    • 请求调页:只调入发生缺页时所需的页面。
    • 预调页:缺页时,一次调入该页以及相邻的几个页。
  • 清楚策略
    • 请求清除:该页被置换时才调出,把清除推迟到最后一刻。
    • 预清除:该页被置换之前就调出,因而可以成批调出多个页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值