首页 » 技术分享 » 虚拟存储

虚拟存储

 

虚拟存储需求背景:

虚拟存储是在这个非连续存储内存分配的基础上,可以把一部分内容放在外村里的做法 
理想的存储器: 
容量更大,速度更快,价格更便宜的非易失性存储器

交换技术:

增加正在运行或者需要运行的程序的内存 
实现方法:可将暂时不能运行的程序放到外存 
换入换出的基本单位:整个进程的地址空间 
换出:把一个进程的整个地址空间保存到外存 换入:将外存中某进程的地址空间读入到内存 
交换的时机:只有当内存空间不够或有不够的可能时换出 
程序换入时重定位:采用动态地址映射的方法

虚拟存储:局部性原理:程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域{ 
时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短的时期内。 
空间局部性:当前指令和邻近的几条指令,当前访问的的数据和邻近的几个数据都集中在一个较小的区域内。 
分支局部性:一条跳转指令的两次执行,很可能跳到相同的内存位置 
只把部分程序放到内存中,从而运行比物理内存大的程序 
由操作系统自动完成,无需程序员的干涉 
实现进程在内存与外存之间的切换,从而获得更多的空闲内存空间 
在内存和外存之间只交换进程的部分内容

虚拟存储的基本概念:

思路:将不常用的部分内存块暂存到外存 
原理: 
装载程序时:只将当前指令执行需要的部分页面或段装入内存 
执行过程中:需要的指令或数据不在内存(缺页)处理器通知操作系统将相应的页面或者段调入内存 
操作系统将内存中暂时不用的页面或段保存到外存 
实现方式:(1)虚拟页式存储(2)虚拟段式存储 (3)段页式
基本特征: 
(1)不连续:a.物理内存分配非连续b.虚拟地址空间使用非连续 
(2)大用户空间 
提供给用户的虚拟内存可大于实际的物理内存( 
3)部分交换:虚拟存储只对部分虚拟地址空间进行调入和调出

虚拟存储的技术支持:

硬件:页式或短时存储中的地址转换机制 
操作系统:管理内存和外存间页面或段的换入换出

虚拟页式存储: 
在页式管理的基础上,增加请求调页和页面置换 
思路:当用户要装载到内存运行时,只装入部分页面,就启动程序运行;进程在运行中发现有需要的代码或者数据不在内存时,则向系统发出缺页异常请求;操作系统在处理缺页异常时,将外存中相应的页调入内存,使得进程继续运行。
 

转载自原文链接, 如需删除请联系管理员。

原文链接:虚拟存储,转载请注明来源!

0