A. 虚拟内存技术是将什么作为主存使用实现了在什么上扩充了主存容量
主存只有一个,即RAM,就是常说的内存。
虚拟内存,是将磁盘作为主存的临时存储空间,用于与主存的数据交互。
所有的缓存,虚拟内存无非是为了增加访问速度。
CPU 有寄存器缓存,硬盘有硬盘缓存。 这些都是硬件上的支持。
虚拟内存,大多是软件上的支持。常说的系统的虚拟内存是为了给系统访问内存时的缓存。
还有像BT下载的时候也会先加载入缓存,再写入硬盘,早先的BT是直接对硬盘读写,所以说,常用BT伤硬盘是对的。现在的BT软件上的改进,加入缓存,先写入缓存,再写入硬盘。
就说这么多吧。
B. 什么是虚拟存储器和局部性原理
虚拟存储器:是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。在虚拟存储器系统中,作业无需全部装入,只要装入一部分就可运行。
引入虚拟存储技术之后,可以:
1、提高内存利用率;(如:定义100*100大小的数组,可能只用到10*10个元素)
2、程序不再受现有物理内存空间的限制;编程变得更容易;
3、可以提高多道程序度,使更多的程序能够进入内存运行。程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现出高度的局限性,包括时间局部性和空间局部性。
1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。
2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。
C. 什么是虚拟存储器
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
功能:基本分页 + “请求调页”和“页面置换”功能。
换入和换出基本单位都是长度固定的页面。请求分页技术的基本思想是:当一个进程的部分页面在内存时就可调度它运行;在运行过程中若用到的页面尚未在内存,则把它们动态换入内存。这样,就减少了对换时间和所需内存数量,允许增加程序的道数。
请求分页技术是在简单分页技术基础上发展起来的,两者根本区别是:请求分页提供虚拟存储器,而简单分页系统并未提供虚拟存储器。
(3)虚拟存储技术是扩充什么技术扩展阅读
虚拟存储器地址变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。常见的替换算法有4种:
①随机算法:用软件或硬件随机数产生器确定替换的页面。
②先进先出:先调入主存的页面先替换。
③近期最少使用算法(LRU,Least Recently Used):替换最长时间不用的页面。
④最优算法:替换最长时间以后才使用的页面。这是理想化的算法,只能作为衡量其他各种算法优劣的标准。
虚拟存储器的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率,程序局部性和替换算法等因素有关。
D. 虚拟存储器的关键技术
请求调页技术、野首置换页技术。虚拟存储器具有离散性、多次性、对换性、虚拟性的特点,技术包括请求调页技或森术、置换页技术。虚拟存储器是指,具有调入功能和置换功能,能从逻辑上对内存衫脊亩的空间进行扩充的一种存储器。
E. 真我gt扩展运存有用吗
真我gt扩展运存是有用的,扩展运存可以使你的运行内存就会变得快,运行APP也会很快,所以说运行内存扩展还是真的有用的,可以提高手机的性能。
有限的内存容量远远不能满足大程序以及共存于内存的多个程缓搜序的存储要求,这就仿喊得借助于一些存储技术来实现内存的扩扰大历充。
实现技术
虚拟存储技术是实现内存扩充的主要手段,他把外存当作内存的直接延伸,从而将有限的实际内存简称实存与大容量的外存统一组织成一个远大于实存的虚拟存储器简称虚存,使用户感觉到主存空间无限大。
当一个程序运行时,其全部信息装入虚存空间,但实际上可把程序当作执行所涉及的那一部分信息存于内存,而其他部分则存于外存。
当所访问的信息不在内存时,则由操作系统负责调入所需部分,当内存空间紧张,又由操作系统负责将内存中暂时不用的信息调至外存,以腾出空间来供必需之用。
虚拟存储技术使每个用户作业都对应有一个虚存,用户编程时不必考虑实存的大小,也就是说一个虚拟存储器就是一个作业的逻辑地址空间,虚存的容量与内存的容量没有直接联系,而是由处理机的地址线的位数来决定的。
F. 什么是虚拟存储器特点是什么
虚拟存储器是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
特点有以下4点:
1.虚拟扩充: 不是物理上而是逻辑上扩充了内存容量。
2.部分装入: 每个作业不是全部一次性地装入内存,而是只装入一部分。
3.离散分配:不必占用连续的内存空间,而是“见缝插针”。
4.多次对换:所需的全部程序和数据要分成多次调入内存。
(6)虚拟存储技术是扩充什么技术扩展阅读:
虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。它的工作过程包括6个步骤:
1.中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
2.如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
3.从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
4.从地址变换表读出与逻辑组号a对应的物理组号a。
5.从物理组号a和组内字节地址b得到物理地址。
6.根据物理地址从主存中存取必要的信息。
G. 什么是虚拟存储技术
1 虚拟存储技术的产生
虚拟化技术并不是一件很新的技术,它的发展,应该说是随着计算机技术的发展而发展起来的,最早是始于70年代。由于当时的存储容量,特别是内存容量成本非常高、容量也很小,对于大型应用程序或多程序应用就受到了很大的限制。为了克服这样的限制,人们就采用了虚拟存储的技术,最典型的应用就是虚拟内存技术。随着计算机技术以及相关信息处理技术的不断发展,人们对存储的需求越来越大。这样的需求刺激了各种新技术的出现,比如磁盘性能越来越好、容量越来越大。但是在大量的大中型信息处理系统中,单个磁盘是不能满足需要,这样的情况下存储虚拟化技术就发展起来了。在这个发展过程中也由几个阶段和几种应用。首先是磁盘条带集(RAID,可带容错)技术,将多个物理磁盘通过一定的逻辑关系集合起来,成为一个大容量的虚拟磁盘。而随着数据量不断增加和对数据可用性要求的不断提高,又一种新的存储技术应运而生,那就是存储区域网络(SAN)技术。SAN的广域化则旨在将存储设备实现成为一种公用设施,任何人员、任何主机都可以随时随地获取各自想要的数据。目前讨论比较多的包括iSCSI、FC Over IP 等技术,由于一些相关的标准还没有最终确定,但是存储设备公用化、存储网络广域化是一个不可逆转的潮流。
2 虚拟存储的概念
所谓虚拟存储,就是把多个存储介质模块(如硬盘、RAID)通过一定的手段集中管理起来,所有的存储模块在一个存储池(Storage Pool)中得到统一管理,从主机和工作站的角度,看到就不是多个硬盘,而是一个分区或者卷,就好象是一个超大容量(如1T以上)的硬盘。这种可以将多种、多个存储设备统一管理起来,为使用者提供大容量、高数据传输性能的存储系统,就称之为虚拟存储。
H. 内存扩充之虚拟存储技术
传统存储管理
特征
时间局部性:如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问(因为程序中存在大量循环)
空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元很有可能被访问(因为很多数据在内存中是连续存放的,并且程序的指令也是顺序地在内存中存放的
寄存器
高速缓存
内存
外存(如磁盘、磁带等)
越往上容量越小,访问速度越快,成本越高
越往下容量越大,访问速度越慢,成本越低
高速缓存技术的思想:将近期会频繁访问到的数据放到更高速的存储器中,暂时用不到的数据放在更低速存储器中
快表机构就是将近期常访问的页表项副本放到更高速的cache中
基于局部性原理,在程序装入时,可以将程序中很快就会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行
在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序
若内存空间不够,由操作系统将内存中暂时用不到的信息换出到外存
因此,在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存
操作系统虚拟性的一个体现,实际的物理内存大小没有变,只是在逻辑上进行了扩充
虚拟内存的最大容量是由计算机的地址结构(CPU寻址范围)确定的
虚拟内存的实际容量 = min(内存外存容量之和,CPU寻址范围)
虚拟内存有以下三个主要特征
虚拟内存技术,允许一个作业多次调入内存。如果采用连续分配方式,会不方便实现。因此,虚拟内存的实现需要建立在离散分配的内存管理方式基础上
传统的非连续分配存储管理
基本分页存储管理
基本分段存储管理
基本段页式存储管理
虚拟内存的实现
请求分页存储管理
请求分段存储管理
请求段页式存储管理
主要区别:在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存
操作系统要提供请求调页/段功能、页面/段置换功能
请求分页存储管理和基本分页存储管理的主要区别
页表机制
页表项:内存块号、状态位、访问字段、修改位、外存地址,页号时隐含的
内存块号是页面在内存中对应的页框号,如果状态位为0,则内存块号为无
状态位表示是否已被调入内存
访问字段记录最近被访问过几次,或者上次访问时间,由此操作系统能够提供置换算法
修改位记录页面被调入内存后是否被修改过,如果没有,就不需要浪费时间写回外存
外存地址是页面在外存中的存放位置
缺页中断机构
在请求分页系统中,每当要访问的页面不在内存时,便会产生一个缺页中断,然后由操作系统的缺页中断处理程序处理中断(内中断)
此时缺页的进程阻塞,放入阻塞队列,调页完成后再将其唤醒,放回就绪队列
如果内存中有空闲块,则为进程分配一个空闲块,将所缺页面装入该块,并修改页表中相应的页表项
如果内存中没有空闲块,则由页面置换算法选择一个页面淘汰,若该页面在内存期间被修改过,则要将其写回外存,为修改过的页面不用写回外存
一条指令再执行期间可能产生多次缺页中断( A to B)
新增的步骤
页面的换入、换出需要磁盘IO,会有较大的开销,因此好的页面置换算法应该追求更少的缺页率
缺页中断≠页面置换
发生缺页中断会发生调页,只有内存块满了才发生页面置换
最佳置换算法OPT:每次淘汰以后永不使用或最长时间内不再被访问的页面
理想化的算法,很难实现
先进先出算法FIFO:每次淘汰最先进入内存的页面
实现:把调入内存的页面根据调入的先后顺序排成队列,页面置换时换出队头页面,新调入的页面排到队尾
优点:实现简单
缺点1:belady异常,为进程分配的物理块数增大时,缺页次数不减反增的异常现象。只有FIFO会产生belady异常。
缺点2:算法与进程实际运行时的规律不适应,因为先调入的页面有可能最经常被访问,因此算法性能差
最近最久未使用置换算法LRU:淘汰最近最久未使用的页面
实现方法:赋予每个页面对应的页表项中,用访问字段记录该页面自上次被访问以来所经历的时间t
优点:性能最接近OPT
缺点:实现困难、开销大
时钟置换算法CLOCK/NRU
简单NRU:为每一个页表项设置一个访问位,再将内存中的页面都通过连接指针连成一个循环队列,当某页被访问时,访问位为1,只需检查页的访问位。如果为0,就将该页换出,否则将其改为0,暂不换出,继续向后扫描,若第一轮扫描都是1,将这也页面的访问位改为0后,进行第二轮扫描,第二轮扫描中一定会有访问位为0的页面,将其换出。因此最多经过两轮扫描
改进NRU:如果淘汰的页面没有被修改过,就不需要执行IO操作,只有淘汰的页面被修改过时,才需要写回外存。因此,同时考虑最近有无访问和有无修改,在其他条件相同时,优先淘汰没有修改过的页面,避免IO操作
第一轮:找到第一个访问位和修改位都为0的页面进行替换,如果没有找到进行下一轮扫描
第二轮:查找第一个访问位为0,修改位为1的页面进行替换,本轮将所有被扫描过的访问位设置为0,如果没有进行下一轮扫描
第三轮:查找0,0替换否则下一轮
第四轮:查找0,1替换
最多会进行四轮扫描
驻留集:请求分页管理中给进程分配的物理块的集合
在采用了虚拟存储技术的系统中,驻留集大小一般小于进程的总大小
驻留集太小,导致缺页频繁,系统要花大量时间处理缺页,实际用于进程推进的时间很少
驻留集太大,会导致多道程序并发度下降,资源利用率降低
固定分配:操作系统为每个进程分配一组固定数目的物理块,在进程运行期间不再改变
可变分配:先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况作适当的增加或减少
局部置换:发生缺页时只能选进程自己的物理地址块进行置换
全局置换:可以将操作系统保留的空闲物理块分配给缺页进程,也可以将别的进程持有的物理块置换到外存,再分配给缺页进程
不存在固定分配全局置换的策略,因为全局置换意味着一个进程拥有的物理块数量必然改变
其他三种组合存在
固定分配局部置换:系统为每个进程分配一定数量的物理块,在整个运行期间都不改变。若进程在运行中发生缺页,并且需要进行页面置换,则只能从该进程在内存中的页面中选出一页换出,然后再调入需要的页面
缺点:很难在刚开始就确定应为每个进程分配多少个物理地址块才算合理(采用这种策略的系统可以根据进程大小、优先级、或是根据程序员给出的参数来确定为一个进程分配的内存块数
可变分配全局置换:刚开始会为进程分配一定数量的物理块。操作系统会保持一个空闲物理块队列,当某进程发生缺页时,从空闲物理块中取出一块分给该进程;若无空闲物理块,则选择一个未锁定的页面换出到外存,再将该物理块分配给缺页的进程。采用这种策略时,只要某进程发生缺页,都将获得新的物理块,仅当空闲物理块用完时,系统才选择一个未锁定的页面调出。被选择调出的页面可能是系统中任何一个进程的页面,因此这个被选中的进程拥有的物理块会减少,缺页率会增加
只要缺页就给该进程分配新的物理块
可变分配局部置换:刚开始会为每个进程分配一定数量的物理块,当某进程发生缺页时,只允许从该进程自己的物理块中选出一个进行页面置换。如果进程在运行过程中频繁缺页,系统会为该进程多分配几个物理块,直至该进程缺页率趋于适当程度;反之,如果缺页率太低,就是当减少分配给该进程的内存块数
要根据发生缺页的频率来动态增加或减少进程的物理块
何时调入页面
从何处调入页面
对换区:读写速度更快,采用连续分配方式
文件区:读写速度更慢,采用离散分配方式
抖动/颠簸现象:刚刚换出的页面马上要换入内存,刚刚换入的页面马上要换出外存,这种频繁的页面调度行为称为抖动/颠簸
主要原因是进程频繁访问的页面数目高于可用的物理块数(分配给进程的物理块不够)
为进程分配物理块太少会使进程发生抖动现象,为进程分配的物理块太多会降低系统的并发度降低某些资源的利用率。因此提出了“工作集”的概念
工作集:在某段时间间隔里,进程实际访问页面的集合
驻留集:请求分页存储管理中给进程分配的内存块的集合
驻留集不能小于工作集,否则进程运行过程中将频繁缺页
I. 什么是虚拟存储技术
所谓虚拟存储,就是把内存与外存有机的结合起来使用,从而得到一个容量很大的“内存”,这就称之为虚拟存储。 可以说,存储网络平台的综合性能的优劣,将直接影响到整樱老个系统的正常运行。
目前实现虚拟存储技术的方式有:衫仿
1、在服务器端的虚拟存储。服务器端一般是通过逻辑卷管理来实现虚拟存储技术。逻辑卷管理为从物理存储映射到逻辑上的卷提供了一个虚拟层。服务器只需要处理逻辑卷,而不用管理存储设备的物理参数。
2、在存储子系统端的虚拟存储。在存储子系统端的虚拟存储设备主要通过大规模的RAID子系统和多个I/O通道连接到服务器上,智能控制器提供LUN访问控制、缓脊塌升存和其他如数据复制等的管理功能。
3、网络设备端实施虚拟存储。从技术上讲,在网络端实施虚拟存储的结构形式有对称式与非对称式虚拟存储两种。
J. 虚拟存储器技术主要用于解决什么问题简述虚拟存储器的基本工作原理。
虚拟存储器技术主要解决电脑内存不够的问题,电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。
为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。
工作原理
1、中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
2、如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
3、从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
4、从地址变换表读出与逻辑组号a对应的物理组号a。
5、从物理组号a和组内字节地址b得到物理地址。
6、根据物理地址从主存中存取必要的信息。
(10)虚拟存储技术是扩充什么技术扩展阅读:
相关概念
1、实地址与虚地址
用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。
2、虚拟内存的访问过程
虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。
每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存。
3、异构体系
从虚存的概念可以看出,主存-辅存的访问机制与cache-主存的访问机制是类似的。这是由cache存储器、主存和辅存构成的三级存储体系中的两个层次。cache和主存之间以及主存和辅存之间分别有辅助硬件和辅助软硬件负责地址变换与管理,以便各级存储器能够组成有机的三级存储体系。