5 虚拟存储器

  1. 常规存储器管理方式和局部性原理

    1. 特征:一次性 驻留性
    2. 局部性原理:较短的时间内程序的执行仅局限于某个部分
      1. 时间局限性:最近访问过的又被访问(循环操作)
      2. 空间局限性:程序顺序执行
    3. 虚拟存储器:进程运行时仅部分装入
      1. 虚拟内存 VM:允许进程的执行不必完全在内存中,程序可以比物理内存大
  2. 虚拟存储器

    1. 定义:具有调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储系统

    2. 覆盖技术:程序运行过程中,在不同时刻把同一存储区分配给不同程序段或数据段,实现存储区共享的一种内存分配技术。

    3. 交换技术:将内存中某进程暂时不用的程序和数据写入外存交换区中,腾出来的空间供其它进程使用。

      1. 应用:

        1)交换整个作业–用于单道系统(单道模拟多道)

        2)交换整个进程–用于连续分区存储管理(进程挂起、激活、中级调度)

        3)交换页面/段面–用于分页、分段存储管理(虚拟存储技术)

    4. 虚拟存储器的特征

      1. 多次性
      2. 对换性
      3. 虚拟性
    5. 实现虚拟存储器

      1. 分页请求系统:增加请求调页功能和页面置换功能所形成的页式虚拟存储系统 (页面为单位)
      2. 请求分段系统:增加了请求调段功能和分段置换功能所形成的段式虚拟存储系统 (段为单位)
  3. 请求分页存储管理

    1. 硬件支持:请求页表机制 缺页中断机构 地址变换机构

      1. 缺页中断机构
        1. 在指令执行期间产生和处理中断信号,以便能及时将所缺之页面调入内存
        2. 保持多次中断时的状态,保持最后能返回中断前产生中断的指令处继续执行
    2. 数据结构:

      1. 分页存储管理的数据结构:位示图
      2. 请求分页存储管理的数据结构:页表
        1. 将用户地址空间中的逻辑地址映射为内存空间中的物理地址
        2. 记录哪些页面在内存,哪些不在内存
    3. 请求分页中的内存分配

      1. 最小物理块数:保证正常运行所需要的最小物理块数
      2. 请求分页系统中的页面分配应当以减少缺页率为目标
      3. 内存分配策略:
        1. 固定分配局部置换
        2. 可变分配全局置换
        3. 可变分配局部置换
      4. 页面置换:指在内存空间已被装满而又要装入新页时,必须按某种算法将内存中的某页置换为一个新页
    4. 物理块分配算法:

      1. 平均分配法
      2. 按比例分配法
      3. 考虑优先权的分配算法
    5. 页面调入策略:

      1. 随用随调策略/请求调页:发生缺页中断,缺哪页调入哪页
      2. 预调页策略:使用第一页,发生缺页中断,在调入第1页时连同第2、3、…页一起调入
    6. 缺页从哪调入?| 缺页调入时间

      1. 从磁盘对换区中调入缺页(数百us至数十ms)
      2. 从磁盘文件区中调入缺页(几十甚至几百ms)
      3. 从磁盘缓冲区中调入缺页(UNIX方式)(数百ns)
    7. 缺页率:f = F / A (F:访问页面失败的次数 S:访问页面成果的次数 A:A = F + S)

    8. 页面置换算法

      1. OPT 最佳置换算法:被淘汰的页面将是以后永不使用的,或许是在最长时间内不再被访问的页面
      2. FIFO 先进先出置换算法:淘汰最先进入内存的页面
      3. LRU 最近最久未使用置换算法:选择内存中上次使用距当前最远的页予以淘汰
      4. LFU 最少使用置换算法:选择再最近时期使用最少的页面最为淘汰页
      5. CLOCK
      6. 改进的CLOCK
    9. 页面缓冲算法PBA

    10. 抖动

      发生“抖动”的根本原因是,同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。这会使得在系统中排队等待页面调进/调出的进程数目增加。显然,对磁盘的有效访问时间也随之急剧增加,造成每个进程的大部分时间都用于页面的换进/换出,而几乎不能再去做任何有效的工作,从而导致发生处理机的利用率急剧下降并趋于0的情况。我们称此时的进程是处于“抖动”状态。

      1. 预防方法:
        1. 采取局部置换策略
        2. 把工作集算法融入到处理机调度中
        3. 利用”L = S“准则调节缺页率
        4. 选择暂停的进程
  4. 请求分段存储管理方式

    1. 硬件支持:段表机制、缺段中断机构、地址变换机构
    2. 数据结构:MAT表 段表
    3. 缺段中断机制:进程执行一条指令产生缺段中断时,压入堆栈的断点时当前指令的地址
  5. 请求段页式存储管理

    1. 硬件支持:段表控制寄存器
    2. 软件支持:缺页置换算法
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cwn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值