操作系统-3.6-内存(虚拟内存&&请求分页管理详解)超详解
Posted LL.LEBRON
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统-3.6-内存(虚拟内存&&请求分页管理详解)超详解相关的知识,希望对你有一定的参考价值。
文章目录
操作系统-3.6-内存(虚拟内存&&请求分页管理详解)
12.虚拟内存
12.1传统存储管理方式的特征,缺点
在我们了解虚拟存储之前先知道为什么需要虚拟存储,原因就是传统存储存在许多缺点,这里我们细细道来…
- 缺点:传统存储管理有许多暂时用不到的数据会长期占用内存,导致内存利用率不高。
- 特征:
- 一次性:作业必须一次性全部装入内存后才能开始运行。
- 驻留性:一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束。
12.2局部性原理
- 时间局部性:如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问。(因为程序中存在大量的循环)
- 空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问。(因为很多数据在内存中都是连续存放的,并且程序的指令也是顺序地在内存中存放的)
如何应用局部性原理呢?
高速缓存技术就是,将近期会频繁访问到的数据放到更高速的存储器中,暂时用不到的数据放到更低速存储器中。
12.3虚拟内存的定义和特征
虚拟内存:
基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行。
在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。
若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。
在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存。
注:这只是操作系统虚拟性的一个体现,实际的物理内存大小没有变,只是在逻辑上进行了扩充。
易混淆知识点:
虚拟内存的最大容量是由计算机的地址结构((CPU寻址范围)确定的。
虚拟内存的实际容量= min(内存和外存容量之和,CPU寻址范围)
如:某计算机地址结构为32位,按字节编址,内存大小为512MB,外存大小为2GB。
则虚拟内存的最大容量为2^32B= 4GB
虚拟内存的实际容量= min (2^32B,512MB+2GB)= 2GB+512MB
虚拟内存的三个主要特征:
- 多次性:无需在作业运行时一次性全部装入内存,而是允许被分成多次调入内存。
- 对换性:在作业运行时无需一直常驻内存,而是允许在作业运行过程中,将作业换入、换出。
- 虚拟性:从逻辑上扩充了内存的容量,使用户看到的内存容量,远大于实际的容量。
12.4如何实现虚拟内存技术
虚拟内存技术:允许一个作业分多次调入内存。如果采用连续分配方式,会不方便实现。因此,虚拟内存的实现需要建立在离散分配的内存管理方式基础上。
然后传统的非连续分配存储管理有许多缺点,因此又引进虚拟内存的存储管理:
- 请求分页存储管理
- 请求分段存储管理
- 请求段页式存储管理
它门之间的区别是:
- 在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。(操作系统要提供请求调页或请求调段功能)
- 若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。(操作系统要提供页面置换或段置换的功能。
12.5总结
13.请求分页管理方式
13.1请求分页管理概述
请求分页存储管理与基本分页存储管理的主要区别:
- 在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。(操作系统要提供请求调页功能,将缺失页面从外存调入内存)
- 若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到内存。(操作系统要提供页面置换的功能,将暂时用不到的页面换出外存)
请求分页管理方式:
- 页表机制
- 缺页中断机构
- 地址变换机构
13.2页表机制
在基本分页的基础上增加了几个表项:
- 状态位:表示页面是否已在内存中。
- 访问字段:记录最近被访问过几次,或记录上次访问的时间,供置换算法选择换出页面时参考。
- 修改位:表示页面调入内存后是否被修改过,只有修改过的页面才需在置换时写回外存。
- 外存地址:页面在外存中存放的位置。
13.3断页中断机构
- 找到页表项后检查页面是否已在内存,若没在内存,产生缺页中断。
- 缺页中断处理中,需要将目标页面调入内存,有必要时还要换出页面。
- 缺页中断属于内中断,属于内中断中的"故障",即可能被系统修复的异常。
- 一条指令在执行过程中可能产生多次缺页中断。
13.4地址变换机构
- 找到页表项是需要检查页面是否在内存中。
- 若页面不再内存中,需要请求调页。
- 若内存空间不够,还需换出页面。
- 页面调入内存后,需要修改相应页表项。
13.5总结
最后喜欢的小伙伴别忘了一键三连哦🎈🎈🎈
以上是关于操作系统-3.6-内存(虚拟内存&&请求分页管理详解)超详解的主要内容,如果未能解决你的问题,请参考以下文章