目录

https://blog.csdn.net/weixin_45792450/article/details/109314765


局部性原理

虚拟存储技术的实现依赖于局部性原理,即进程往往会不均匀地高度局部性地访问内存。局部性原理表现在时间局部性空间局部性

时间局部性

如果程序中的某条指令一旦被执行,不久以后该指令很可能会被再次执行;如果某数据被访问过,不久以后该数据很可能会被再次访问。

产生时间局部性原理的典型原因,是由于程序中存在大量的循环操作或者重要函数模块的重复调用。

空间局部性原理

一旦访问了某个程序单元,不久以后其附近的存储单元很可能会被访问,即程序在一段时间访问的地址,可能集中在一定范围之内。

产生空间局部性原理的典型原因,是由于指令和数据在存放的时候,一般是在一定范围聚集或者顺序存放,加上程序执行时,指令一般顺序执行,访问的数据很多是顺序遍历。


虚拟存储技术

内存管理 虚拟存储概述

内存管理 虚拟存储概述

内存管理 虚拟存储概述

内存管理 虚拟存储概述

内存管理 虚拟存储概述


虚拟页式管理

虚拟内存的实现方式有三种方式:请求分页存储管理请求分段存储管理请求段页式存储管理

请求分页存储管理又称虚拟页式管理,其建立在基本分页存储管理系统之上,增加了请求调页页面置换功能。

内存管理 虚拟存储概述

请求分页管理在进程开始运行之前,不是装入全部页面,而是装入一部分初始需要的页面,之后再根据进程的需要,动态地装入其他页面,此为请求调页功能

当内存空间紧张时,根据特定算法将部分不太需要的页面调出内存,再将需要的页面置换进来,此为页面置换功能

虚拟页式管理需要的软硬件支持:一定容量的内存以及外存的计算机系统,页表机制,缺页中断机构,地址变换机构。


虚拟页式管理的请求调页

在虚拟分页管理中,由于页面不是一次性调入内存,所以需要在页表项中标记此种信息,为此需要增加四个字段:

  • 状态位P:用于指示该页是否调入内存,供程序访问时参考
  • 访问字段A:用于记录访问次数或多久未被访问,由页面置换算法决定和参考
  • 修改位M:标识该页在调入内存后是否被修改
  • 外存地址:用于指出该页的外存地址

如果进程在运行中发生缺页现象,需要进入缺页中断机构进行处理,请求操作系统将所缺页面调入内存。此时进程被阻塞,等待调页完成时的唤醒。

缺页中断与一般中断有两个明显区别:

  1. 缺页中断在指令执行期间产生和处理中断信号,而非一条指令执行完成后,属于内中断
  2. 一条指令执行期间,可能产生多次缺页中断

相关文章: