操作系统笔记---虚拟存储器



虚拟存储技术:从逻辑层面上实现对内存容量的扩充,改善系统性能


  1. 常规存储器管理方式特征:

    1. 一次性

    2. 驻留性



虚拟存储器的工作原理:给予局部性原理可知,应用程序在运行之前无需全部载入,而只需要载入少数页面或段就可运行,其余部分暂留外存。如果出现缺页(段),就发出缺页(段)请求,此时系统再讲请求页调入内存


虚拟存储器的特征:

  1. 多次性:应用程序和数据无需一次调入内存,而是允许被分成多次调入。

  2. 对换性:允许在作业的运行过程中进行对换。

  3. 虚拟性:逻辑上扩充内存容量,而非物理扩充



虚拟存储器的实现方式:建立在离散分配存储管理方式的基础上

  1. 分页请求系统:在分页系统的基础上增加了请求调页功能和页面置换所形成的页式虚拟存储系统

  2. 请求分段系统

  3. 段页式虚拟存储器系统



请求分页存储管理方式

  1. 请求页表机制:主要数据结构是“请求页表”

    1. 页号

    2. 物理块号

    3. 状态为

    4. 访问字段

    5. 修改位

    6. 外存地址

  2. 缺页中断机构:缺页终端作为中断,同样需要经理保护CPU环境,分析中断原因,转入缺页中断处理程序进行处理,以及在中断处理完成后恢复CPU环境

  3. 地址变换机构:在进行的地址变换时,首先检索快表,寻找索要访问的页,若找到,就修改页表项的访问位,供置换算法选出换出页面时参。对于写指令,还需要将修改位,设置成1.表示该页在调入内存后已被修改。然后利用页表项中给出的物理块号和页内地址形成物理地址。如果在快表没有找到该页的页表项,则在内存中查找页表。再从找到的页表项中的状态为P来了解该页是否已调入内存。若该页已调入内存,这时应该讲该页的页表项写入快表。若未调入内存,则产生缺页中断,请求OS从外存将该页调入内存。



请求分页中的内存分配:在为进程分配内存时,涉及三个问题

  1. 最小物理块数的确定:指能保证进程正常运行所需要的最小物理块数(与计算机的硬件结构有关,取决于指令的格式,功能,寻址方式)

  2. 采用何种内存分配策略

    1. 固定分配局部置换

    2. 可变分配全局置换:全局置换指,系统将其他进程中物理块分给该进程。只要发生缺页中断就会得到一块全新的物理块

    3. 可变分配局部置换:先从本进程的物理块中进行置换,若频繁发生缺页中断,才从其余进程获取新的物理块

  3. 物理块分配算法:

    1. 平均分配算法

    2. 按比例分配算法:根据进程的大小,按比例分配物理块

    3. 考虑优先权的分配算法:优先级高的进程,分配较多的内存空间




页面调入策略:

  1. 系统应在何时调入所需页面:

    1. 预调页策略:命中率低,但一旦命中,效果好

    2. 请求调页策略:目前中大多采用,但一次只调用一页,系统开销大

  2. 系统应从何处调入这些页面:

    1. 从对换区调入

    2. 从文件区调入

  3. 是如何进行调入的


缺页率:  f=F/A    F:访问页面失败次数, A:页面访问次数



页面置换算法:页面置换算法的好坏直接影响系统的性能

  1. 最佳置换算法:选择的页将是永不使用或最长时间内不会使用的页。该算法无法实现,但可用来评价其他算法

  2. 先进先出(FIFO)页面置换算法:该算法与进程世纪运行的规律不相适应,有些先进的页面会被经常访问,但却被淘汰

  3. 最近最久未使用算法(LRU):需要较多的硬件支持,如寄存器和栈

  4. 最少使用置换算法(LFU):

  5. Clock置换算法(最近未使用算法NRU):为每页设置一个访问位,算法执行时,根据FIFO算法检查,如果访问位为0就调出,,若为1,则设为0。

  6. 改进型的Clock置换算法:增加了修改位,首先淘汰访问位与修改位都为0的页面

  7. 页面缓冲算法(PBA):先进入链表,再批量操作方式降低频率

    1. 空闲页面链表

    2. 修改页面链表



影响页面置换效率的因素:

  1. 页面置换算法

  2. 将修改的页面协会磁盘的频率

  3. 读入内存的频率
























虚拟存储技术:从逻辑层面上实现对内存容量的扩充,改善系统性能


  1. 常规存储器管理方式特征:

    1. 一次性

    2. 驻留性



虚拟存储器的工作原理:给予局部性原理可知,应用程序在运行之前无需全部载入,而只需要载入少数页面或段就可运行,其余部分暂留外存。如果出现缺页(段),就发出缺页(段)请求,此时系统再讲请求页调入内存


虚拟存储器的特征:

  1. 多次性:应用程序和数据无需一次调入内存,而是允许被分成多次调入。

  2. 对换性:允许在作业的运行过程中进行对换。

  3. 虚拟性:逻辑上扩充内存容量,而非物理扩充



虚拟存储器的实现方式:建立在离散分配存储管理方式的基础上

  1. 分页请求系统:在分页系统的基础上增加了请求调页功能和页面置换所形成的页式虚拟存储系统

  2. 请求分段系统

  3. 段页式虚拟存储器系统



请求分页存储管理方式

  1. 请求页表机制:主要数据结构是“请求页表”

    1. 页号

    2. 物理块号

    3. 状态为

    4. 访问字段

    5. 修改位

    6. 外存地址

  2. 缺页中断机构:缺页终端作为中断,同样需要经理保护CPU环境,分析中断原因,转入缺页中断处理程序进行处理,以及在中断处理完成后恢复CPU环境

  3. 地址变换机构:在进行的地址变换时,首先检索快表,寻找索要访问的页,若找到,就修改页表项的访问位,供置换算法选出换出页面时参。对于写指令,还需要将修改位,设置成1.表示该页在调入内存后已被修改。然后利用页表项中给出的物理块号和页内地址形成物理地址。如果在快表没有找到该页的页表项,则在内存中查找页表。再从找到的页表项中的状态为P来了解该页是否已调入内存。若该页已调入内存,这时应该讲该页的页表项写入快表。若未调入内存,则产生缺页中断,请求OS从外存将该页调入内存。



请求分页中的内存分配:在为进程分配内存时,涉及三个问题

  1. 最小物理块数的确定:指能保证进程正常运行所需要的最小物理块数(与计算机的硬件结构有关,取决于指令的格式,功能,寻址方式)

  2. 采用何种内存分配策略

    1. 固定分配局部置换

    2. 可变分配全局置换:全局置换指,系统将其他进程中物理块分给该进程。只要发生缺页中断就会得到一块全新的物理块

    3. 可变分配局部置换:先从本进程的物理块中进行置换,若频繁发生缺页中断,才从其余进程获取新的物理块

  3. 物理块分配算法:

    1. 平均分配算法

    2. 按比例分配算法:根据进程的大小,按比例分配物理块

    3. 考虑优先权的分配算法:优先级高的进程,分配较多的内存空间




页面调入策略:

  1. 系统应在何时调入所需页面:

    1. 预调页策略:命中率低,但一旦命中,效果好

    2. 请求调页策略:目前中大多采用,但一次只调用一页,系统开销大

  2. 系统应从何处调入这些页面:

    1. 从对换区调入

    2. 从文件区调入

  3. 是如何进行调入的


缺页率:  f=F/A    F:访问页面失败次数, A:页面访问次数



页面置换算法:页面置换算法的好坏直接影响系统的性能

  1. 最佳置换算法:选择的页将是永不使用或最长时间内不会使用的页。该算法无法实现,但可用来评价其他算法

  2. 先进先出(FIFO)页面置换算法:该算法与进程世纪运行的规律不相适应,有些先进的页面会被经常访问,但却被淘汰

  3. 最近最久未使用算法(LRU):需要较多的硬件支持,如寄存器和栈

  4. 最少使用置换算法(LFU):

  5. Clock置换算法(最近未使用算法NRU):为每页设置一个访问位,算法执行时,根据FIFO算法检查,如果访问位为0就调出,,若为1,则设为0。

  6. 改进型的Clock置换算法:增加了修改位,首先淘汰访问位与修改位都为0的页面

  7. 页面缓冲算法(PBA):先进入链表,再批量操作方式降低频率

    1. 空闲页面链表

    2. 修改页面链表



影响页面置换效率的因素:

  1. 页面置换算法

  2. 将修改的页面协会磁盘的频率

  3. 读入内存的频率
























  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【实验目的】 1. 通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解; 2. 熟悉虚存管理的各种页面淘汰算法; 3. 通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。 【实验准备】 1.虚拟存储器的管理方式  段式管理  页式管理  段页式管理 2.页面置换算法  先进先出置换算法  最近最久未使用置换算法  Clock置换算法  其他置换算法 【实验内容】 1. 实验题目 设计一个请求页式存储管理方案。并编写模拟程序实现之。产生一个需要访问的指令地址流。它是一系列需要访问的指令的地址。为不失一般性,你可以适当地(用人工指定地方法或用随机数产生器)生成这个序列,使得 50%的指令是顺序执行的。25%的指令均匀地散布在前地址部分,25%的地址是均匀地散布在后地址部分。为简单起见。页面淘汰算法采用 FIFO页面淘汰算法,并且在淘汰一页时,只将该页在页表中抹去。而不再判断它是否被改写过,也不将它写回到辅存。 2. 具体做法 产生一个需要访问的指令地址流;指令合适的页面尺寸(例如以 1K或2K为1页);指定内存页表的最大长度,并对页表进行初始化;每访问一个地址时,首先要计算该地址所在的页的页号,然后查页表,判断该页是否在主存——如果该页已在主存,则打印页表情况;如果该页不在主存且页表未满,则调入一页并打印页表情况;如果该页不足主存且页表已满,则按 FIFO页面淘汰算法淘汰一页后调入所需的页,打印页表情况;逐个地址访问,直到所有地址访问完毕。
一、实验目的 1、了解虚拟存储器的基本原理和实现方法。 2、掌握几种页面置换算法。 二、实验内容 设计模拟实现采用不同内外存调度算法进行页面置换,并计算缺页率。 三、实验原理 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Window中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。 虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。它是采用一定的方法将一定的外存容量模拟成内存,同时对程序进出内存的方式进行管理,从而得到一个比实际内存容量大得多的内存空间,使得程序的运行不受内存大小的限制。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。 虚拟内存的设置主要有两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。 1. 最佳置换算法(OPT):选择永不使用或是在最长时间内不再被访问(即距现在最长时间才会被访问)的页面淘汰出内存。 2. 先进先出置换算法(FIFO):选择最先进入内存即在内存驻留时间最久的页面换出到外存。 3. 最近最久未使用置换算法(LRU): 以“最近的过去”作为“最近的将来”的近似,选择最近一段时间最长时间未被访问的页面淘汰出内存
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值