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

来源:互联网 发布:linux yy复制 编辑:程序博客网 时间:2024/06/06 03:08


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


  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 0