操作系统课程设计实验--WRK内存管理试验

操作系统课程设计实验--WRK内存管理试验

ID:35618165

大小:357.00 KB

页数:12页

时间:2019-04-02

操作系统课程设计实验--WRK内存管理试验_第1页
操作系统课程设计实验--WRK内存管理试验_第2页
操作系统课程设计实验--WRK内存管理试验_第3页
操作系统课程设计实验--WRK内存管理试验_第4页
操作系统课程设计实验--WRK内存管理试验_第5页
资源描述:

《操作系统课程设计实验--WRK内存管理试验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、操作系统课程设计实验WRK内存管理试验姓名:莫金博班级:08级计算机1班学号:20086789一.实验内容描述1.目的(1)了解Windows内存管理器(2)理解Windows的地址过程2.内容任意给出一个虚拟地址,通过WinDbg观察相关数据并找到其物理地址二.理论分析Windows采用页式虚拟存储管理技术管理内存,页面是硬件级别上的最小保护单位1.Windows内存管理器Windows的内存管理主要由Windows执行体中的虚存管理程序负责,并由环境子系统负责,并由环境子系统负责与具体API相关的一些用户态特性的实现。虚存管理程序是Windo

2、ws中负责内存管理的那些子程序和数据结构的集合内存管理器的主要任务是:地址变换:将一个进程的虚拟地址空间转译为物理内存地址交换:当内存不足时,将内存中的有些内容转移到磁盘上,并且以后还要再次将这些内容读回2.Windows内存管理策略Windows采用页式虚拟存储管理技术管理内存,页面是硬件级别上最小的保护单位。根据硬件的体系结构不同,页面尺寸被分为两种,大页面和小页面。X86系统下小页面为4KB,大页面为4MB。大页面的优点是:当引用同一页面内其他数据时,地址转移的速度会很快。不过使用大页面通常要较大的内存空间,而且必须用一个单独的保护项来映射

3、,因此可能会造成出现错误而不引发内存访问违例的情况。通常PC机都为小页面3.Windows虚拟地址空间布局x86结构下的布局方式:默认情况下,32位Windows系统中每个用户进程可以占有2GB的私有地址空间。操作系统占有另外的2GB2GB用户的进程地址空间布局如表:2GB的系统地址空间布局如同:3.虚拟地址转译地址转译是指将进程的虚拟地址空间映射到实际物理页面的过程。x86系统中地址转译过程如图:关键数据结构如下:页目录:每个进程都有一个页目录,它是内存管理器为了映射进程中所有的页表位置而创建的一个页面。进程也目录的地址被保存在内核进程快KPR

4、OCESS中,在x86系统上,它被映射到虚拟地址0xC0300000,当一个进程正在执行时,CPU可以通过寄存器CR3知道该进程页目录的位置。页目录由目录项(PDE)构成,每个PDE长4字节,描述了该进程中所有可能的页表的状态和位置。其格式和PTE类似。x86系统上,要描述完整的4GB虚拟地址空间,需要1024个页表。因此映射这些页表的进程页目录需包含1024个PDE,恰好占用一个页面。页表:进程的页目录项指向页表。每个页表占用一个页面,由1024项PTE组成。一个有效的PTE大小为4字节,包含两个主域:数据所在的物理页面的页面帧编号(PNF)或

5、者内存中一个页面的物理地址的PFN;一些描述该页面状态和保护属性的标志。虚拟地质结构:x86系统上,一个32位虚拟地址被解释为三个单独的部分,页目录索引、页表索引和字节索引。由于页目录项有1024个,因此页目录索引为10位;一个也表中含有1024个PTE。因此页表索引也为10位,字节索引为12位,正好表示一页(4KB)内容三.实验步骤及结果1.查找页目录首地址以程序WG.exe作为观测对象。启动WinDbg到内核调试模式,运行程序WG.exe。终断目标机运行,输入命令:kd>!process发现WG.exe进程正处于运行状态输入命令:在KPROC

6、ESS中名为DirectoryTableBase的域,对应值为0x9fa6000,即WG.exe进程页目录的物理地址查看CR3寄存其中的内容,输入命令:CR3寄存其中的值和KPROCESS中记录的页目录基址相同。这是因为在CPU切换执行任务时,其内容要更新为当前进程的页目录基址。2.地址转译过程假设给定的虚拟地址为0x401001输入命令:可以看到:PDE的虚拟地址为C0300004.PTE的虚拟地址为C0001004最后一行信息“pfn9e4a---DA--UWEV”表示PDE中的具体内容,9e4a是给定虚拟地址所在页表在内存中对应的物理页号,

7、“---DA—UWEV”是标志信息,“pfna173----A--UREV”表示PTE中的具体内容,a173是数据页装入内存的物理页号。将数据页对应的物理页号a173加上业内索引(0x1)即可得到虚拟地址0x401001的物理地址3.观察系统页表给定观测虚拟地址为0x80001001输入命令:当前正在执行的进程是:WG.exe输入命令:得到PDE为C0300800,其对应的物理页号为3b继续让目标机运行,启动A.exe,然后中断目标机运行。输入命令:当前正在执行的进程为A.exe输入命令:PDE信息和对应的物理页号与前面观测到的相同四.结论1.数

8、据页对应的物理页号加上相应业内索引即可得到虚拟地址的物理地址2.不同的进程页目录都指向了相同的系统表页五.心得体会在这次上机实验,通过对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。