虚拟存储需求背景:
虚拟存储是在这个非连续存储内存分配的基础上,可以把一部分内容放在外村里的做法
理想的存储器:
容量更大,速度更快,价格更便宜的非易失性存储器
交换技术:
增加正在运行或者需要运行的程序的内存
实现方法:可将暂时不能运行的程序放到外存
换入换出的基本单位:整个进程的地址空间
换出:把一个进程的整个地址空间保存到外存 换入:将外存中某进程的地址空间读入到内存
交换的时机:只有当内存空间不够或有不够的可能时换出
程序换入时重定位:采用动态地址映射的方法
虚拟存储:局部性原理:程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域{
时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短的时期内。
空间局部性:当前指令和邻近的几条指令,当前访问的的数据和邻近的几个数据都集中在一个较小的区域内。
分支局部性:一条跳转指令的两次执行,很可能跳到相同的内存位置
只把部分程序放到内存中,从而运行比物理内存大的程序
由操作系统自动完成,无需程序员的干涉
实现进程在内存与外存之间的切换,从而获得更多的空闲内存空间
在内存和外存之间只交换进程的部分内容
虚拟存储的基本概念:
思路:将不常用的部分内存块暂存到外存
原理:
装载程序时:只将当前指令执行需要的部分页面或段装入内存
执行过程中:需要的指令或数据不在内存(缺页)处理器通知操作系统将相应的页面或者段调入内存
操作系统将内存中暂时不用的页面或段保存到外存
实现方式:(1)虚拟页式存储(2)虚拟段式存储 (3)段页式
基本特征:
(1)不连续:a.物理内存分配非连续b.虚拟地址空间使用非连续
(2)大用户空间
提供给用户的虚拟内存可大于实际的物理内存(
3)部分交换:虚拟存储只对部分虚拟地址空间进行调入和调出
虚拟存储的技术支持:
硬件:页式或短时存储中的地址转换机制
操作系统:管理内存和外存间页面或段的换入换出
虚拟页式存储:
在页式管理的基础上,增加请求调页和页面置换
思路:当用户要装载到内存运行时,只装入部分页面,就启动程序运行;进程在运行中发现有需要的代码或者数据不在内存时,则向系统发出缺页异常请求;操作系统在处理缺页异常时,将外存中相应的页调入内存,使得进程继续运行。
转载自原文链接, 如需删除请联系管理员。
原文链接:虚拟存储,转载请注明来源!