虚拟存储器页面着色
1. 在预加载着色器就进不了怎么办
【问题描述】: 穿越火线初始化失败 【原因分析】: 1. 虚拟内存太低 2. 游戏程序被破坏 3. DX出现错误 【简易步骤】: 1. 设置虚拟内存 2. 重新安装游戏 3. 重新安装DX程序 【解决方法】: 通常游戏报错类型较多,建议您可以根据您游戏报错的内容,先到网上或者游戏官网支持查询或者咨询。 以下列举出常见游戏报错问题的解决办法 方案一:设置虚拟内存 1. 设置【虚拟内存】(解决游戏内存不足的报错,XP系统使用,Win7基本都是默认系统分配,不需要手动设置):右键点击【我的电脑】—【属性】—【高级】—【性能设置】(如图1) 图1 2. 点击【高级】—【更改】。(如图2) 图2 3. 把【自动管理所有驱动器的分页文件大小】前面的勾去掉才可以修改将C盘的虚拟内存自定义为最大4092,初始2046,然后点击设置,确定即可。(如图3) 图3 方案二:更新DX9.0(解决游戏启动提示缺少某些D3D文件的报错) 打开【360软件管家】,在搜索框中搜索【DX】关键字,找到【DirectX 9.0C】正式版进行下载安装即可。(如图4) 图4 方案三:安装运行库(针对QQ安装后无法启动及部分游戏启动报错) 打开【360软件管家】,在左侧找到【编程开发】类点击,将右侧结果中的【VC++2005、2008、2010】进行安装即可。(如图5) 图5 方案四:重装游戏客户端 游戏程序本身故障,可以卸载后,更换个盘符重新安装。
2. 操作系统内存
这个虚拟内存指的是“进程的虚拟内存”,或者说是虚拟地址空间,注意与” Linux 系统的虚拟
内存“区分,”Linux 系统的虚拟内存“指的是常说的 Swap 空间,在第四点会说。
虚拟内存不同于物理内存,进程占用虚拟内存空间大并非意味着程序的物理内存也一定占用很
大。虚拟内存是操作系统内核为了对进程地址空间进行管理设计的一个逻辑意义上的内存空间
概念。我们程序中的指针其实都是这个虚拟内存空间中的地址。既然说虚拟内存是一个逻辑意
义上的内存空间,为了能够让程序在物理机器上运行,操作系统使用了页映射表(page table)
来实现逻辑上的虚拟内存空间到物理内存空间(实际存在的 RAM 内存条上的空间)的映射。内
核会为系统中每一个进程维护一份独立的页映射表。页映射表的基本原理是将程序运行过程中
需要访问的一段虚拟内存空间通过页映射表映射到一段物理内存空间上,这样 CPU 访问对应
虚拟内存地址的时候就可以通过查找页映射表来访问物理内存上的某个对应的地址。页是虚拟
内存空间向物理内存空间映射的基本单元。
可以参考该页表映射图。其中虚拟内存空间中着色的部分分别被映射到物理内存空间对应相同
着色的部分,而灰色的部分没有被映射到物理内存空间中。这也是按需映射,因为虚拟内存空
间很大,可能其中很多部分在一次程序运行过程中根本不需要访问,所以也就没有必要将虚拟
内存空间中的这些部分映射到物理内存空间上。
总结一下就是,虚拟内存是一个逻辑内存空间,在程序运行过程中虚拟内存空间中需要被访问的
部分会被映射到物理内存空间中。虚拟内存空间大只能表示程序运行过程中可访问的空间比较大,不代表物理内存空间占用也大。
驻留内存是指那些被映射到进程虚拟内存空间的物理内存。在上图中,物理内存空间中被着色
的部分都是驻留内存。比如,A1、A2、A3 和 A4 是进程 A 的驻留内存;B1、B2 和 B3 是进程
B 的驻留内存。进程的驻留内存就是进程执行时实际占用的物理内存。一般我们所讲的进程占用
了多少内存,其实就是说的占用了多少驻留内存而不是多少虚拟内存。因为虚拟内存大并不意味
着占用的物理内存大。
共享内存是指进程共享的物理内存。在上图中进程 A 虚拟内存空间中的 A4 和进程 B 虚拟内
存空间中的 B3 都映射到了物理内存空间的 A4/B3 部分。因为我们的多个进程在执行时很可能
会依赖一些实现基础功能的库,而这些库加载到物理内存后只会存在一份,如果某个进程运行
时需要某个库,那么就会将这个库加载到的物理内存映射到当前进程的虚拟内存空间中。多个
进程之间通过共享内存的方式相互通信也是这样实现的。这么一来,就会出现不同进程的虚拟
内存空间会映射到相同的物理内存空间。这部分物理内存空间其实是被多个进程所共享的,所
以称为共享内存。某个进程占用的内存除了和别的进程共享的内存之外就是自己的独占内存了。
所以要计算进程独占内存的大小时就用它所占的物理内存大小减去它和其它进程共享的内存大
小即可。
Swap 内存是指“Linux 系统的虚拟内存”,Swap 空间实际上就是硬盘上的一块空间,可以是一
个分区,也可以是一个文件,或者是它们的组合。当进程执行需要载入数据到内存时,如果物
理内存仍然足够,通常是不会用到 Swap 空间的,如果物理内存吃紧不够用了,就会把当前内
存中暂时不用的数据换出保存到 Swap 空间,之后进程执行又需要 Swap 空间中的数据时,就
会再次换入到内存中。由于 Swap 空间实际上就是磁盘上的空间,所以频繁的换入换出会出现
大量的磁盘 IO,会导致严重的性能问题。
3. 什么事虚拟存储器.其实现方式有哪些
指将多个不同类型、独立存在的物理存储体,通过软、硬件技术,集成转化为一个逻辑上的虚拟的存储单元,集中管理供用户统一使用。这个虚拟逻辑存储单元的存储容量是它所集中管理的各物理存储体的存储量的总和,而它具有的访问带宽则在一定程度上接近各个物理存储体的访问带宽之和。
从虚拟化存储的拓扑结构来讲主要有两种方式:即对称式与非对称式。对称式虚拟存储技术指虚拟存储控制设备与存储软件系统、交换设备集成为一个整体,内嵌在网络数据传输路径中;非对称式虚拟存储技术指虚拟存储控制设备独立于数据传输路径之外。从虚拟化存储的实现原理来讲也有两种方式;即数据块虚拟与虚拟文件系统。
(3)虚拟存储器页面着色扩展阅读
虚拟存储器地址变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。任何逻辑空间页面能够变换到物理空间任何页面位置的方式称为全联想变换。每个逻辑空间页面只能变换到物理空间一个特定页面的方式称为直接变换。
组联想变换是指各组之间是直接变换,而组内各页间则是全联想变换。替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。常见的替换算法有4种。
1、随机算法:用软件或硬件随机数产生器确定替换的页面。
2、先进先出:先调入主存的页面先替换。
3、近期最少使用算法(LRU,Least Recently Used):替换最长时间不用的页面。
4、最优算法:替换最长时间以后才使用的页面。这是理想化的算法,只能作为衡量其他各种算法优劣的标准。
4. 虚拟存储器技术主要用于解决什么问题简述虚拟存储器的基本工作原理。
虚拟存储器技术主要解决电脑内存不够的问题,电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。
为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。
工作原理
1、中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
2、如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
3、从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
4、从地址变换表读出与逻辑组号a对应的物理组号a。
5、从物理组号a和组内字节地址b得到物理地址。
6、根据物理地址从主存中存取必要的信息。
(4)虚拟存储器页面着色扩展阅读:
相关概念
1、实地址与虚地址
用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。
2、虚拟内存的访问过程
虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。
每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存。
3、异构体系
从虚存的概念可以看出,主存-辅存的访问机制与cache-主存的访问机制是类似的。这是由cache存储器、主存和辅存构成的三级存储体系中的两个层次。cache和主存之间以及主存和辅存之间分别有辅助硬件和辅助软硬件负责地址变换与管理,以便各级存储器能够组成有机的三级存储体系。
5. 虚拟存储器采用的页面调度算法是“先进先出”(FIFO)算法吗
虚拟存储器采用的页面调度算法是“先进先出”(FIFO)算法吗。常见的替换算法有4种。
①随机算法:用软件或硬件随机数产生器确定替换的页面。
②先进先出:先调入主存的页面先替换。
③近期最少使用算法(LRU,Least Recently Used):替换最长时间不用的页面。
④最优算法:替换最长时间以后才使用的页面。这是理想化的算法,只能作为衡量其他各种算法优劣的标准。
虚拟存储器的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率,程序局部性和替换算法等因素有关。
(5)虚拟存储器页面着色扩展阅读
虚拟存储器地址变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。任何逻辑空间页面能够变换到物理空间任何页面位置的方式称为全联想变换。每个逻辑空间页面只能变换到物理空间一个特定页面的方式称为直接变换。
组联想变换是指各组之间是直接变换,而组内各页间则是全联想变换。替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。
在段式虚拟存储系统中,虚拟地址由段号和段内地址组成,虚拟地址到实存地址的变换通过段表来实现。每个程序设置一个段表,段表的每一个表项对应一个段,每个表项至少包括三个字段:有效位(指明该段是否已经调入主存)、段起址(该段在实存中的首地址)和段长(记录该段的实际长度)。
6. 什么是虚拟存储器
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
功能:基本分页 + “请求调页”和“页面置换”功能。
换入和换出基本单位都是长度固定的页面。请求分页技术的基本思想是:当一个进程的部分页面在内存时就可调度它运行;在运行过程中若用到的页面尚未在内存,则把它们动态换入内存。这样,就减少了对换时间和所需内存数量,允许增加程序的道数。
请求分页技术是在简单分页技术基础上发展起来的,两者根本区别是:请求分页提供虚拟存储器,而简单分页系统并未提供虚拟存储器。
(6)虚拟存储器页面着色扩展阅读
虚拟存储器地址变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。常见的替换算法有4种:
①随机算法:用软件或硬件随机数产生器确定替换的页面。
②先进先出:先调入主存的页面先替换。
③近期最少使用算法(LRU,Least Recently Used):替换最长时间不用的页面。
④最优算法:替换最长时间以后才使用的页面。这是理想化的算法,只能作为衡量其他各种算法优劣的标准。
虚拟存储器的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率,程序局部性和替换算法等因素有关。
7. 是虚拟存储器,在页式系统中如何实现虚拟存
由操作系统和硬件相配合完成主存和辅存之间的信息的动态调度,这样的计算机好像为用户提供了一个其存储容量比主存大得多的存储器,这个存储器称为虚拟存储器。
(实现虚拟存储技术需要有如下物质基础,相当容量的主存,一定容量的辅存,地址变换机构)
在页式系统中采用预调方式实现虚拟存储。(也就是说,只需将作业的一部分页面装入内存即可运行,并且当运行过程中需要的页面不在内存中再将其调入。)
8. 虚拟存储方式都有哪些
目前虚拟存储的发展尚无统一标准,从虚拟化存储的拓扑结构来讲主要有两种方式:即对称式与非对称式。对称式虚拟存储技术是指虚拟存储控制设备与存储软件系统、交换设备集成为一个整体,内嵌在网络数据传输路径中;非对称式虚拟存储技术是指虚拟存储控制设备独立于数据传输路径之外。从虚拟化存储的实现原理来讲也有两种方式;即数据块虚拟与虚拟文件系统。具体如下: 图1对称式虚拟存储解决方案的示意图
在图1所示的对称式虚拟存储结构图中,存储控制设备 High Speed Traffic Directors(HSTD)与存储池子系统Storage Pool集成在一起,组成SAN Appliance。可以看到在该方案中存储控制设备HSTD在主机与存储池数据交换的过程中起到核心作用。该方案的虚拟存储过程是这样的:由HSTD内嵌的存储管理系统将存储池中的物理硬盘虚拟为逻辑存储单元(LUN),并进行端口映射(指定某一个LUN能被哪些端口所见),主机端将各可见的存储单元映射为操作系统可识别的盘符。当主机向SAN Appliance写入数据时,用户只需要将数据写入位置指定为自己映射的盘符(LUN),数据经过HSTD的高速并行端口,先写入高速缓存,HSTD中的存储管理系统自动完成目标位置由LUN到物理硬盘的转换,在此过程中用户见到的只是虚拟逻辑单元,而不关心每个LUN的具体物理组织结构。该方案具有以下主要特点:
(1)采用大容量高速缓存,显着提高数据传输速度。
缓存是存储系统中广泛采用的位于主机与存储设备之间的I/O路径上的中间介质。当主机从存储设备中读取数据时,会把与当前数据存储位置相连的数据读到缓存中,并把多次调用的数据保留在缓存中;当主机读数据时,在很大几率上能够从缓存中找到所需要的数据。直接从缓存上读出。而从缓存读取数据时的速度只受到电信号传播速度的影响(等于光速),因此大大高于从硬盘读数据时盘片机械转动的速度。当主机向存储设备写入数据时,先把数据写入缓存中,待主机端写入动作停止,再从缓存中将数据写入硬盘,同样高于直接写入硬盘的速度
(2)多端口并行技术,消除了I/O瓶颈。
传统的FC存储设备中控制端口与逻辑盘之间是固定关系,访问一块硬盘只能通过控制它的控制器端口。在对称式虚拟存储设备中,SAN Appliance的存储端口与LUN的关系是虚拟的,也就是说多台主机可以通过多个存储端口(最多8个)并发访问同一个L
9. 试说明虚拟存储器的涵义,它与物理存储器有什么区别
试说明虚拟存储器的涵义,它与物理存储器有什么区别
页面虚拟存储器与段式虚拟存储器区别:
1、页面虚拟存储器
页式虚拟存储系统中,虚拟空间分成页,称为逻辑页;主存空间也分成同样大小的页,称为物理页。页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址(物理页号),用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。
2、段式虚拟存储器
段式虚拟存储器是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。
10. 虚拟内存技术的工作原理
虚拟内存技术的工作原理是什么?虚拟内存有什么技术?下面由我来和大家一起了解吧!
虚拟内存技术介绍
虚拟内存别称虚拟存储器(Virtual Memory)。电脑中所运行的
程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存[2] 技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可释放RAM,以便完成工作。 一般而言,计算机的RAM容量越大,程序运行得越快。若计算机的速率由于RAM可用空间匮乏而减缓,则可尝试通过增加虚拟内存来进行补偿。但是,计算机从RAM读取数据的速率要比从硬盘读取数据的速率快,因而扩增RAM容量(可加内存条)是最佳选择。虚拟内存是Windows 为作为内存使用的一部分硬盘空间。虚拟内存在硬盘上其实就是为一个硕大无比的文件,文件名是PageFile.Sys,通常状态下是看不到的。必须关闭资源管理器对系统文件的保护功能才能看到这个文件。虚拟内存有时候也被称为是“页面文件”就是从这个文件的文件名中来的。[2] 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,WINDOWS运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,这部分空间即称为虚拟内存,虚拟内存在硬盘上的存在形式就是 PAGEFILE.SYS这个页面文件。
工作原理
虚拟存储器是由硬件和 操作系统 自动实现存储信息调度和管理的。它的工作过程包括6个步骤:
①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
④从地址变换表读出与逻辑组号a对应的物理组号a。
⑤从物理组号a和组内字节地址b得到物理地址。
⑥根据物理地址从主存中存取必要的信息。