【VR虚拟现实】实验虚拟存储器
实习五 虚拟存储器实验报告

实习五虚拟存储器实验报告一、实验目的本次虚拟存储器实验旨在深入理解计算机系统中虚拟存储器的工作原理和机制,通过实际操作和观察,掌握虚拟存储器的相关概念和技术,包括页式存储管理、地址转换、页面置换算法等。
同时,培养我们的实践能力和问题解决能力,为今后学习和工作中涉及到的计算机系统相关知识打下坚实的基础。
二、实验环境本次实验使用的操作系统为 Windows 10,开发工具为 Visual Studio 2019,编程语言为 C++。
三、实验原理1、虚拟存储器的概念虚拟存储器是一种利用硬盘等辅助存储器来扩充主存容量的技术。
它将程序和数据按照一定的页面大小划分,并在需要时将页面从硬盘调入主存,从而实现了使用有限的主存空间运行较大规模的程序。
2、页式存储管理页式存储管理将主存和辅存空间都划分为固定大小的页面。
程序的地址空间被分成若干页,主存也被分成相同大小的页框。
通过页表来记录页面和页框的对应关系,实现地址转换。
3、地址转换当 CPU 执行指令时,给出的是逻辑地址。
通过页表将逻辑地址转换为物理地址,才能在主存中访问相应的数据。
4、页面置换算法当主存空间不足时,需要选择一个页面换出到硬盘,以腾出空间调入新的页面。
常见的页面置换算法有先进先出(FIFO)算法、最近最少使用(LRU)算法等。
四、实验内容与步骤1、设计并实现一个简单的页式存储管理系统定义页面大小和主存、辅存的容量。
实现页表的数据结构,用于记录页面和页框的对应关系。
编写地址转换函数,将逻辑地址转换为物理地址。
2、实现页面置换算法分别实现 FIFO 和 LRU 页面置换算法。
在页面调入和调出时,根据相应的算法选择置换的页面。
3、测试和分析实验结果生成一系列的访问序列,模拟程序的运行。
统计不同页面置换算法下的缺页次数和命中率。
分析实验结果,比较不同算法的性能。
五、实验过程与结果1、页式存储管理系统的实现我们将页面大小设置为 4KB,主存容量为 16MB,辅存容量为 1GB。
虚拟现实技术在实验室实践中的应用

虚拟现实技术在实验室实践中的应用随着科技的飞速发展,虚拟现实技术在各个领域的应用也越来越广泛。
在实验室实践中,虚拟现实技术已经成为必不可少的工具。
本文将介绍如何将虚拟现实技术应用于实验室中,以及这种技术带来的好处和挑战。
一、虚拟现实技术的应用虚拟现实技术的应用非常广泛,可以应用于多个学科的实验室实践中。
在化学实验室中,可以通过虚拟现实技术展示分子结构、反应数据和结果等。
在生物实验室中,可以利用虚拟现实技术进行细胞模拟,以及病毒、细菌等微生物的研究。
在机械实验室中,可以利用虚拟现实技术进行机械结构和设计的模拟等。
此外,虚拟现实技术也可以应用于医学实验室、物理实验室、心理学实验室等多个领域,其应用范围极为广泛。
二、虚拟现实技术带来的好处虚拟现实技术的应用带来了许多好处。
首先,它可以降低实验的难度和实验人员的风险。
许多化学实验和生物实验需要使用危险的试剂和有害的生物体,而利用虚拟现实技术可以避免这些危险。
同时,因为虚拟现实技术可以模拟实验过程,使得实验结果更加准确和可靠。
其次,虚拟现实技术还可以增强学生的实验体验和学习效果。
传统实验室中,许多实验需要使用显微镜和其他仪器进行观测和分析。
然而,这些仪器的使用需要学生具备一定的技术和经验。
而利用虚拟现实技术,学生可以随时随地进行实验,提高实验的参与度和学习效果。
三、虚拟现实技术面临的挑战虚拟现实技术的应用还存在一些挑战。
首先,虚拟现实技术需要消耗大量的计算资源和存储空间。
如果虚拟现实技术的应用规模越来越大,需要更多的硬件资源,这将会给实验室的设备管理和升级带来一定的压力。
其次,虚拟现实技术还需要开发不同领域的应用和定制化的程序。
现阶段虚拟现实技术的应用还比较局限,需要基于特定的软件和硬件来开发应用。
如果需要在不同的领域和实验中使用,需要对应用进行不同程度的改造和调整,这对开发者和实验室都会带来一定的挑战。
四、结语虚拟现实技术已经成为现代实验室不可或缺的工具,其应用范围和优点不断扩展。
【VR虚拟现实】ELTABARMII说明书

(VR虚拟现实)ELTABARMII说明书第1章EL-TAB-ARM-II实验系统的资源介绍硬件资源概述EL-TAB-ARM-II型教学实验系统属于一种综合的教学实验系统,它是集学习、应用编程、开发研究于一体ARM实验教学系统。
用户可根据自己的需求选用不同类型的CPU适配板,兼容ARM7和ARM9、ARM10,而不需要改变任何配置,同时,实验系统上的Tech_V总线能够拓展较为丰富的实验接口板。
用户在了解Tech_V标准后,更能研发出不同用途的实验接口板。
除此之外,在实验板上有丰富的外围扩展资源(数字量IO输入输出,语音编解码、人机接口等单元),能够完成ARM的基础实验和数据通信实验、以太网实验。
1.1 实验系统的硬件资源总揽图1-1-1 EL-ARM-830实验教学系统的功能框图1.2 核心板ARM9的资源介绍1.核心板的硬件资源(ARM920T核)☆CPU:ARM920T,芯片三星的S3C2410,工作频率最高202MHz;☆动态存储器:64MB,芯片HY57V561620;☆海量存储器:32MB,芯片K9F5608;☆USB单元:1个主接口,俩个设备接口,芯片PDIUSBD12;☆网络单元:10/100M以太网,芯片AX88796;☆UART单元:2个,最高通信波特率115200bps;☆语音单元:IIS格式,芯片UDA1341TS,采样频率最高48KHz;☆LCD单元: 5.7寸,256色,320X240像素;☆触摸屏单元:四线电阻屏,320X240,5.7寸;☆SD卡单元:通信频率最高25MHz,芯片W86L388D,兼容MMC卡;☆键盘单元:4X4键盘,带8位LED数码管;芯片HD7279A;☆模拟输入输出单元:8个带自锁的按键,及8个LED发光管;☆A/D转换单元:芯片自带的8路10位A/D,满量程2.5V;☆信号源单元:方波输出;☆标准键盘及PS2鼠标接口;☆标准的IDE硬盘接口;☆达盛公司的Tech_V总线接口;☆达盛公司的E_Lab总线接口;☆调试接口:20针JTAG;☆CPLD单元;☆电源模块单元。
VR虚拟现实实验室项目解决方案

VR虚拟现实实验室项目解决方案背景:随着科学技术的不断进步和人们对科学教育的追求,虚拟现实(VR)技术在教育领域得到了广泛的应用。
虚拟现实实验室是一种创新的教学方法,通过利用VR技术来模拟实验现场,使学生能够更加直观地理解和掌握实验原理和过程。
本文将为一个虚拟现实实验室项目提出解决方案。
目标:该项目的目标是设计和开发一个功能齐全的虚拟现实实验室,为学生提供一个高质量的实验教育环境,以促进他们对科学的理解和兴趣。
解决方案:1.硬件设施:首先,需要配备一套高性能的虚拟现实设备,包括头显、手柄和传感器。
头显负责提供虚拟现实的视觉体验,手柄用于交互和操作,传感器用于追踪用户的位置和动作。
选择先进的设备可以提供更真实、沉浸式的实验体验。
2.软件开发:开发一个虚拟现实实验室软件平台,用于实验设计、模拟和演示。
该平台应具有以下功能:-实验模拟:利用虚拟现实技术模拟各种实验场景,包括物理、化学、生物等实验。
学生可以使用手柄进行实验操作,并观察实验现象和结果。
-数据分析:平台应能够记录和分析学生在实验过程中产生的数据,帮助他们理解实验结果和背后的原理。
-多人互动:支持多个学生同时参与实验,他们可以在虚拟现实环境中进行合作和交流,增强学生间的协作能力和团队合作精神。
-考核评估:在实验结束后,系统应提供考核评估功能,对学生的实验操作和数据分析进行评价,并为教师提供相关的教学诊断。
3.实验内容:为了提供多样化的实验体验,实验室项目应包括丰富的实验内容。
可以根据学科领域的需求,设计和开发适合不同年龄和学习阶段的实验项目。
实验内容可能包括:-物理实验:如力学、光学、电学等实验,通过模拟真实的实验环境,学生可以更好地理解和掌握物理原理。
-化学实验:如化学反应、溶液浓度等实验,通过观察实验过程和结果,学生可以深入理解化学原理。
-生物实验:如细胞结构、遗传实验等,通过虚拟现实技术,学生可以进行虚拟显微镜观察和实验操作,增强对生物学知识的理解。
模拟储存技术实验报告

一、实验目的1. 了解模拟存储技术的概念和原理;2. 掌握模拟存储器的基本结构和功能;3. 通过实验验证模拟存储技术的性能特点;4. 分析模拟存储技术在现代计算机系统中的应用。
二、实验环境1. 实验平台:PC机2. 实验软件:C++ Builder3. 实验工具:Visual Studio三、实验原理模拟存储技术是一种在计算机系统中实现存储器虚拟化的技术。
通过模拟存储器,计算机可以实现对物理存储器的高效管理和利用。
模拟存储技术主要包括以下几种:1. 虚拟存储器:通过将物理内存和硬盘存储空间结合起来,实现大容量内存的模拟;2. 页面置换算法:根据页面访问的频率和顺序,选择合适的页面进行置换,以提高内存利用率;3. 快速缓存:通过将频繁访问的数据存储在快速缓存中,减少对物理内存的访问次数。
四、实验内容1. 模拟存储器的基本结构设计(1)设计模拟存储器的基本结构,包括物理内存、硬盘存储空间、虚拟内存和页面置换算法等模块;(2)实现模拟存储器的初始化、数据读写、页面置换等功能。
2. 页面置换算法的实现(1)实现三种页面置换算法:FIFO、LRU和OPT;(2)对每种算法进行性能分析,包括缺页率和页面命中率等指标。
3. 快速缓存的设计与实现(1)设计快速缓存的结构,包括缓存大小、替换策略等;(2)实现快速缓存的数据读写、替换等功能。
4. 模拟存储技术的应用实例(1)模拟一个简单的计算机系统,包括CPU、内存、硬盘等模块;(2)在计算机系统中应用模拟存储技术,实现虚拟内存和快速缓存等功能;(3)通过实验验证模拟存储技术在计算机系统中的应用效果。
五、实验步骤1. 设计模拟存储器的基本结构,实现初始化、数据读写、页面置换等功能;2. 实现三种页面置换算法:FIFO、LRU和OPT,并分析其性能;3. 设计快速缓存的结构,实现数据读写、替换等功能;4. 模拟一个简单的计算机系统,应用模拟存储技术,实现虚拟内存和快速缓存等功能;5. 对实验结果进行分析,总结模拟存储技术的性能特点和应用效果。
VR虚拟现实实验室项目解决方案

VR虚拟现实实验室项目解决方案虚拟现实实验室项目解决方案中的关键是将创新技术、视觉设计和用户体验融合于一体,构建出一种全新的虚拟现实体验环境。
以下是一种详细的解决方案。
1.硬件使用及布局:戴头式显示设备是VR实验室的最基本设备,目前主流产品如Oculus Rift,HTC Vive和PS VR可以充分满足需求。
根据使用方式和体验感的不同,VR设备可以分为便携式设备和房间级设备,需要按照实验室的实际需求采购和布置。
传感器设备是VR体验的另一重要组成部分。
它可以通过捕捉用户的眼动、运动等信息,让用户更好地沉浸在虚拟环境中。
主要包括眼动追踪器、手柄控制器和全身运动捕捉系统等。
工作站和服务器是虚拟现实实验室的核心计算设备。
应坚持高规格标准,选择强大的图形处理能力、大内存、多核处理器的工作站,以满足大规模、复杂的虚拟环境的运算需求。
2.软件系统开发及使用:VR软件是实现虚拟现实体验的关键,主要分为系统软件和应用软件。
系统软件如Unity或Unreal引擎是构建和运行VR应用的平台。
应用软件则是定制开发的各类虚拟现实应用。
通常情况下,VR实验室需要专业的开发团队进行软件定制开发。
但现在也有一些商业和开源的VR软件可以进行基本的应用开发和演示。
3.VR内容创作:VR实验室还要注重虚拟现实内容的创作。
包括虚拟环境的设计,角色和物体的建模,交互和动画的制作等。
这需要配备一支包括视觉设计师、3D建模员和编程人员在内的多学科工作团队。
了解和掌握虚拟现实的设计规则和原理是成功创作的基础。
通过用户测试和迭代优化的过程,实现更高品质、更符合用户需求的虚拟现实内容。
4.应用领域勘探:VR实验室可以服务于各种不同的应用领域,包括游戏、电影、教育、医疗、军事、工业设计等。
每个领域有其特殊需求和注意点,需要深入调研和理解,找准实验室在各个领域中的定位和作用。
5.用户教育和培训:由于虚拟现实技术仍不为大众所熟知,VR实验室需要进行用户教育和培训工作。
(VR虚拟现实)虚拟化存储系统

(VR虚拟现实)虚拟化存储系统虚拟化存储系统华中科技大学集群与网格计算湖北省重点实验室信息存储系统教育部重点实验室2003年12月1.课题研究背景当今社会,信息正以超乎人们想象的速度增长,这对信息存储系统的容量和速度提出了空前的要求,由此引发的各种问题也随之而来。
人们对信息数据日益广泛的需求导致存储系统的规模变得越来越庞大,管理越来越复杂,信息资源的爆炸性增长和管理能力的相对不足之间的矛盾日益尖锐。
同时,这种信息资源的高速增长也对存储系统的可靠性和扩展性提出了挑战,信息资源的共享也显得越来越重要。
在广域网中存在大量相互独立的数据孤岛,它们之间的数据资源不能共享,存储空间不能得到有效使用,数据的传输性能不足。
存储虚拟化是指将用户看到的存储资源同具体的物理存储设备分隔开来,为存储用户提供统一的虚拟存储池。
它是具体存储设备或存储系统的抽象,展示给用户一个逻辑视图,同时将应用程序和用户所需要的数据存储操作和具体的存储控制分离。
存储虚拟化的任务首先是在多个物理存储设备或存储系统上创建一个抽象层,屏蔽复杂性,简化管理;其次是对存储资源进行优化。
本课题研究了广域网范围和存储局域网(SAN)内部的存储虚拟化技术,以及支撑这种技术的文件系统。
据统计,在企业网、局域网内部采用分布式存储技术的企业,其存储服务器、磁盘阵列甚至PC的存储空间利用率一般只达到50%,很多设备甚至还达不到,用户投资被大量浪费。
由于文件服务器系统缺乏对并行I/O的支持,在大量用户访问或遭到恶意访问攻击时,系统将很快达到饱和而无法完成服务。
通过存储虚拟化技术,不仅可以简化异构存储管理的复杂性,更可以高效充分地利用存储空间。
通过在互连网络环境中引入分布式RAID功能,能够实现数据有效备份和容灾,提高信息的安全可靠性。
通过将三级存储设备虚拟为二级存储,可以为用户提供快速海量存储。
局域网的网络存储技术基本上可以分NAS和SAN两大类,而NAS和SAN 又各有其优缺点。
VR虚拟现实-龙芯NBC虚拟存储管理系统 精品

龙芯NBC虚拟存储管理系统(Godson NBC Virtual Storage Management System)用户手册中科院计算所龙芯开放实验室.20XX-7-9目录1产品说明 (4)1.1 什么是虚拟存储系统? (4)1.2 名词解释 (4)1.3 系统特点 (4)1.3.1节省空间,提高使用效率 (4)1.3.2本地磁盘与虚拟磁盘配合使用 (5)1.3.3减少维护人员的工作量 (5)1.3.4节省软件购买费用 (5)1.3.5系统可以方便地部署 (5)1.3.6具有硬盘保护卡的同等功能 (5)1.3.7可有效防止病毒的入侵 (6)1.3.8有利于维护办公秩序 (6)1.4 系统功能 (6)2建议配置 (6)2.1 服务器端配置要求 (6)2.2 客户端配置要求 (7)3安装步骤 (7)3.1 网络规划 (8)3.2 软件安装规划 (8)3.3 服务器操作系统安装 (8)3.4 虚拟存储管理软件安装 (9)3.5 虚拟存储管理软件配置 (10)3.5.1手工配置DHCP服务 (10)3.5.2利用NBC配置向导进行服务配置 (11)3.5.3启动NBC 相关服务 (19)3.6 客户机操作系统安装 (20)3.7 客户机驱动安装 (21)3.7.1安装Windows 98系统驱动 (21)3.7.2安装Windows 2000 / XP 系统驱动 (21)3.8 客户端操作系统上传 (22)3.8.1服务器端准备 (22)3.8.2客户机端准备 (23)3.8.3系统上传 (23)3.8.4验证客户机系统 (24)3.9 配置所有客户机 (24)4管理工具的功能介绍 (25)4.1 管理服务器 (26)4.1.1注册IO服务器 (26)4.1.2IO服务器上使用多个网卡 (27)4.1.3映像管理 (28)4.1.4缓冲区管理 (30)4.2 管理工作站 (31)4.2.1自动添加工作站帐户 (31)4.2.2手动添加工作站帐户 (31)4.2.3删除工作站 (32)4.2.4工作站分组管理 (32)4.2.5修改工作站设置 (33)4.3 预设磁盘管理 (34)4.3.1新增预设磁盘 (34)4.3.2新增虚拟磁盘 (35)4.3.3修改预设磁盘 (35)4.3.4删除预设磁盘 (35)5管理向导 (36)5.1 成批修改电脑设置 (36)5.2 添加机器帐户 (36)5.3 删除机器帐户 (37)5.4 导入PC (37)5.5 导出PC (37)6 在域中使用工作站 (37)7 Godson NBC 常见Q&A (38)1 产品说明1.1 什么是虚拟存储系统?龙芯NBC虚拟存储管理系统是一套局域网管理软件,结合了PC网络、无盘网络、NC网络的优势,通过虚拟存储将客户端的操作系统和应用软件存于服务器端,并充分发挥客户端的本地计算能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验9、Windows虚拟内存1 背景知识在Windows环境下,4GB的虚拟地址空间被划分成两个部分:低端2GB提供给进程使用,高端2GB提供给系统使用。
这意味着用户的应用程序代码,包括DLL以及进程使用的各种数据等,都装在用户进程地址空间内(低端2GB)。
用户过程的虚拟地址空间也被分成三部分:1)虚拟内存的已调配区(committed):具有备用的物理内存,根据该区域设定的访问权限,用户可以进行写、读或在其中执行程序等操作。
2)虚拟内存的保留区(reserved):没有备用的物理内存,但有一定的访问权限o3)虚拟内存的自由区(free):不限定其用途,有相应的PAGE_NOACCESS权限。
与虚拟内存区相关的访问权限告知系统进程可在内存中进行何种类型的操作。
例如,用户不能在只有PAGE_READONLY权限的区域上进行写操作或执行程序;也不能在只有PAGE_EXECUTE权限的区域里进行读、写操作。
而具有PAGE_NOACCESS权限的特殊区域,则意味着不允许进程对其地址进行任何操作。
在进程装入之前,整个虚拟内存的地址空间都被设置为只有PAGE_NOACCESS权限的自由区域。
当系统装入进程代码和数据后,才将内存地址的空间标记为已调配区或保留区,并将诸如EXECUTE、READWRITE和READONLY的权限与这些区域相关联。
如表1所示,给出了MEMORY_BASIC_INFORMATION的结构,此数据描述了进程虚拟内存空间中一组虚拟内存页面的当前状态,其中State项表明这些区域是否为自由区、已调配区或保留区;Protect项则包含了Windows系统为这些区域添加了何种访问保护;Type项则表明这些区域是可执行图像、内存映射文件还是简单的私有内存。
VirtualQueryEX()API能让用户在指定的进程中,对虚拟内存地址的大小和属性进行检测。
Windows还提供了一整套能使用户精确控制应用程序的虚拟地址空间的虚拟内存API。
一些用于虚拟内存操作及检测的API如表2所示。
表1 MEMORY_BASIC_INFORMATION结构的成员表2 虚拟内存的API提供虚拟内存分配功能的是VinualAlloc()API。
该API支持用户向系统要求新的虚拟内存或改变已分配内存的当前状态。
用户若想通过VirtualAlloc()函数使用虚拟内存,可以采用两种方式通知系统:1)简单地将内存内容保存在地址空间内。
2)请求系统返回带有物理存储区(RAM的空间或换页文件)的部分地址空间。
用户可以用flAllocation Type参数(commit和reserve)来定义这些方式,用户可以通知Windows按只读、读写、不可读写、执行或特殊方式来处理新的虚拟内存。
与VirtualAlloc()函数对应的是VirtualFree()函数,其作用是释放虚拟内存中的已调配页或保留页。
用户可利用dwFreeType参数将已调配页修改成保留页属性。
VirtualProtect()是VirtualAlloc()的一个辅助函数,利用它可以改变虚拟内存区的保护规范。
2 实验目的1)通过实验了解Windows内存的使用,学习如何在应用程序中管理内存,体会Windows应用程序内存的简单性和自我防护能力。
2)学习检查虚拟内存空间或对其进行操作。
3)了解Windows的内存结构和虚拟内存的管理,进而了解进程堆和Windows为使用内存而提供的一些扩展功能。
3 实验内容与步骤虚拟内存的检测清单2所示的程序使用VirtualQueryEX()函数来检查虚拟内存空间。
步骤1:在“开始”菜单中单击“程序”、“Microsoft Visual Studio 6.0”、“MicrosoftVisualC++6.0”,进入VisualC++窗口。
步骤2:运行以下程序清单清单2 检测进程的虚拟地址空间#include<windows.h>#include<iostream>#include<shlwapi.h>#include<iomanip>#pragma comment(lib,"shlwapi.lib")//以可读方式对用户显示保护的辅助方法。
//保护标记表示允许应用程序对内存进行访问的类型以及操作系统强制访问的类型inline bool TestSet(DWORD dwTarget, DWORD dwMask){return((dwTarget & dwMask)==dwMask);}#define SHOWMASK(dwTarget,type)\if(TestSet(dwTarget,PAGE_##type))\{std::cout<<","<<#type;}void ShowProtection(DWORD dwTarget){SHOWMASK(dwT arget,READONLY);SHOWMASK(dwT arget,GUARD);SHOWMASK(dwT arget,NOCACHE);SHOWMASK(dwT arget,READWRITE);SHOWMASK(dwT arget,WRITECOPY);SHOWMASK(dwT arget,EXECUTE);SHOWMASK(dwT arget,EXECUTE_READ);SHOWMASK(dwT arget,EXECUTE_READWRITE);SHOWMASK(dwT arget,EXECUTE_WRITECOPY);SHOWMASK(dwT arget,NOACCESS);}//遍历整个虚拟内存并对用户显示其属性的工作程序的方法void WalkVM(HANDLE hProcess){//首先,获得系统信息SYSTEM_INFO si;::ZeroMemory(&si,sizeof(si));::GetSystemInfo(&si);//分配要存放信息的缓冲区MEMORY_BASIC_INFORMATION mbi;::ZeroMemory(&mbi,sizeof(mbi));//循环整个应用程序地址空间LPCVOID pBlock=(LPVOID)si.lpMinimumApplicationAddress; while(pBlock<si.lpMaximumApplicationAddress){//获得下一个虚拟内存块的信息if(::VirtualQueryEx(hProcess, //相关的进程pBlock, //开始位置&mbi, //缓冲区sizeof(mbi))==sizeof(mbi)) //大小的确认{//计算块的结尾及其大小LPCVOID pEnd=(PBYTE)pBlock+mbi.RegionSize;TCHAR szSize[MAX_PATH];::StrFormatByteSize(mbi.RegionSize,szSize,MAX_PATH);//显示块地址和大小std::cout.fill('0');std::cout<<std::hex<<std::setw(8)<<(DWORD)pBlock<<"-"<<std::hex<<std::setw(8)<<(DWORD)pEnd<<(strlen(szSize)==7?"(":"(")<<szSize<<")";//显示块的状态switch(mbi.State){case MEM_COMMIT:std::cout<<",Committed";break;case MEM_FREE:std::cout<<",Free";break;case MEM_RESERVE:std::cout<<",Reserved";break;}//显示保护if(mbi.Protect==0&&mbi.State!=MEM_FREE){mbi.Protect=PAGE_READONLY; }ShowProtection(mbi.Protect);//显示类型switch(mbi.Type){case MEM_IMAGE:std::cout<<",Image";break;case MEM_MAPPED:std::cout<<",Mapped";break;case MEM_PRIVATE:std::cout<<",Private";break;}//检验可执行的影像TCHAR szFilename[MAX_PATH];if(::GetModuleFileName((HMODULE)pBlock,szFilename,MAX_PATH)>0){//除去路径并显示::PathStripPath(szFilename);std::cout<<",Module:"<<szFilename;}std::cout<<std::endl;//移动块指针以获得下一个块pBlock=pEnd;}}}void main(){//遍历当前进程的虚拟内存::WalkVM(::GetCurrentProcess());}清单2中显示一个WalkVM()函数开始于某个进程可访问的最低端虚拟地址处,并在其中显示各块虚拟内存的特性。
虚拟内存中的块由VirtualQueryEx()APl定义成连续块或具有相同状态(自由区、已调配区等)的内存,并分配以一组统一的保护标志(只读、可执行等)。
回答下列问题:1)分析运行结果按committed、reserved、free等三种虚拟地址空间分别记录实验数据,其中“描述”是指对该组数据的简单描述,例如,对下列一组数据:00010000—00012000<8.00KB>Committed,READWRITE,Private可描述为:具有READWRITE权限的已调配私有内存区。
将系统当前的自由区(free)虚拟地址空间填入表1中。
(表课可以自己画)将系统当前的保留区(reserved) 虚拟地址空间填入表3中。