什么是虚拟存储器它有什么特征
虚拟存储器在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。
什么是虚拟存储器
虚拟存储器就是让应用程序觉得此存储器具有连续的内存可以供我们使用,这是一个连续的完整的内存空间地址,但是实际上虚拟存储器是一个被阻隔成许多个碎片的物理内存,并且,还有一部分的存储数据暂时存储在外部的磁盘存储器上,以进行随时的数据交换。目前,市场上的电脑的操作系统都使用了虚拟存储器,比如说,windows的“虚拟内存”家族,Linux的“ 交换空间 ”技术等,但依旧不够完善,例如,Windows 8 的操作系统以及Windows 8.1 的操作系统都是会在刚开机进入系统的时候卡在Windows标志的界面上,不能进入到系统里面,只能通过强制关机并且重新启动才能解决这个问题,因此,Microsoft可以适当地调整虚拟存储器的设置,来完善操作系统。
虚拟存储器的特征
虚拟存储器具有虚拟性、离散性、多次性及强对换性等特征,其中最重要的特征是虚拟性。
虚拟性:虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际的内存容量,这是虚拟存储器所表现出的最重要的特征,也是虚拟存储器最重要的目标。
离散性:离散性是指内存分配时采用离散分配的方式,没有离散性就不可能实现虚拟存储器。采用连续分配方式,需要将作业装入到连续的内存区域,这样需要连续地一次性申请一部分内存空间,以便将整个作业先后多次装入内存。如果仍然采用连续装入的方式,则无法实现虚拟存储功能,只有采用离散分配方式,才能为它申请内存空间,以避免浪费内存空间。
多次性:多次性是指一个作业被分成多次调入内存运行。作业在运行时,只将当前运行的那部分程序和数据装入内存,以后再陆续从外存将需要的部分调入内存。
对换性:对换性是指允许在作业运行过程中换进换出。允许将暂时不用的程序和数据从内存调至外存的对换区,以后需要时再从外存调入到内存。
虚拟存储器的工作过程
虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的,它的工作过程包括6个步骤:
1、中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
2、如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
3、从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
4、从地址变换表读出与逻辑组号a对应的物理组号a。
5、从物理组号a和组内字节地址b得到物理地址。
6、根据物理地址从主存中存取必要的信息。
虚拟存储器的实现方法
虚拟存储器的实现都是建立在离散分配存储管理方式的基础上,目前的实现方法主要有以下两种。
1、请求分页系统
请求分页系统是在分页存储管理方式的基础上增加了请求调页功能、页面置换功能所形成的页式虚拟存储系统。程序启动运行时装入部分用户程序页和数据页,在以后的运行过程中,访问到其他逻辑页时,再陆续将所需的页调入内存。请求调页和置换时,需要页表机构、缺页中断机构、地址变换机构等软硬件支持。
2、请求分段系统
请求分段系统是在分段存储管理方式的基础上增加了请求调段及分段置换功能而形成的段式虚拟存储系统,只需装入部分程序和数据进程即可启动运行,以后出现缺段时再动态调入。实现请求分段同样需要请求分段的段表机制、缺段中断机构、地址变换机构等软硬件支持。
以上就是虚拟存储工作原理和实现方法的介绍,希望通过本文能让大家对虚拟内存有一定的了解,更多资讯可以持续关注IC先生!