windows操作系统课件 实验2内存管理.ppt

windows操作系统课件 实验2内存管理.ppt

ID:51499903

大小:325.50 KB

页数:36页

时间:2020-03-25

windows操作系统课件 实验2内存管理.ppt_第1页
windows操作系统课件 实验2内存管理.ppt_第2页
windows操作系统课件 实验2内存管理.ppt_第3页
windows操作系统课件 实验2内存管理.ppt_第4页
windows操作系统课件 实验2内存管理.ppt_第5页
资源描述:

《windows操作系统课件 实验2内存管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实习二:Windows虚拟存储器管理实习要求使用Windows2000/XP的API函数,编写一个包含两个线程的进程,一个线程用于模拟内存分配活动,一个线程用于跟踪第一个线程的内存行为,而且要求两个线程之间通过信号量实现同步。模拟内存活动的线程可以从一个文件中读出要进行的内存操作,每个内存操作包括如下内容:时间:操作等待时间。块数:分配内存的粒度。操作:包括保留(reserve)一个区域、提交(commit)一个区域、释放(release)一个区域.回收(decommit)一个区域和加锁(lock)与解锁(unlock)一个区域,可以将这些操作编号存放于文件。保留是指保留进程的

2、虚拟地址空间,而不分配物理存储空间。提交在内存中分配物理存储空间。回收是指释放物理内存空间,但在虚拟地址空间仍然保留,它与提交相对应,即可以回收已经提交的内存块。释放是指将物理存储和虚拟地址空间全部释放,它与保留(reserve)相对应,即可以释放已经保留的内存块。大小:块的大小。访问权限:共五种,分别为PAGE_READONLY,PAGE_READWRITE,PAGE_EXECUTE,PAGE_EXECUTE_READ和PAGEEXECUTE_READWRITE。可以将这些权限编号存放于文件中跟踪线程将页面划大小、已使用的地址范围、物理内存总量,以及虚拟内存总量等信息显示出来

3、。实习目的了解windows2000/xp的内存管理机制,掌握页式虚拟存储技术理解内存分配原理,特别是以页面为单位的虚拟内存分配方法。掌握windows2000/xp下内存管理的基本api同时需要了解跟踪程序的编写方法(与被跟踪程序保持同步,使用Windows提供的信号量)对Windows分配虚拟内存、改变内存状态,以及对物理内存(physicalmemory)和页面文件(pagefile)状态查询的API函数的功能、参数限制、使用规则要进一步了解。相关基础知识Windows中的虚拟存储技术(分页)Windows在实现虚拟存储技术的时候,利用页面文件(pagingfile)来实

4、现物理内存的扩展。所谓的页面文件就是Windows2000/XP在硬盘上分配的用来存储没有装入内存的程序和数据文件部分的磁盘文件。这个文件是一个名叫pagefile.sys的系统隐藏文件,当系统安装时,会在安装系统盘的根目录下创建该文件,其默认值大于计算机中RAM的1.5倍需要时Windows2000/XP将数据从页面文件移至内存,并将数据从内存移至页面文件以便为新数据释放空间。页面文件也称为交换文件。页面文件和物理内存或RAM构成“虚拟内存”。如果系统要求的内存量超过了虚拟内存的大小,则系统就会出现提示,发出虚拟内存不足的警告。我们可以根据需要设置虚拟内存的大小,方法是:右击

5、“我的电脑”,依次选择“属性”->“高级”->“性能选项”->“更改”;在这个设置功能下,我们还可以在其他分区或者磁盘下新增页面文件(默认情况下,非系统盘上没有设置页面文件),这样相应的磁盘根目录下也会出现一个系统隐藏文件Windows2000/XP在X86体系结构上利用二级页表结构来实现虚拟地址向物理地址的变换。一个32位虚拟地址被解释为三个独立的分量——页目录索引、页表索引和字节索引——它们用于找出描述页面映射结构的索引。页面大小及页表项的宽度决定了页目录和页表索引的宽度。地址变换过程核心进程页目录索引页表索引字节索引CR3物理地址IndexPFNPDE页目录(每个进程建立

6、一张,1024项)IndexPFNPTE页表(每个进程最多有512个,系统空间最多占用512个,每张表1024项)Index物理地址空间要求的字节要求的页虚存页面的状态1页面的种类每一个进程的虚拟地址空间中的页面根据其所处状态可以分为三种:提交页面、保留页面和空闲页面。1提交(Committed)页面提交页面是已分得物理存储的虚拟地址页面,通过设定该区域的属性可对它加以保护,例如设为“只读”。系统在第一次读写页面时进行初始化并将提交的页面装入物理内存;当进程结束时系统将释放提交页面的存储空间,当然也可以使用VirtualFree函数进行存储空间的释放。2保留(Reserved)

7、页面保留页面是逻辑页面已分配,但没有分配物理存储页面。这样可以在进程中保留一部分虚拟地址,如果没有释放这些地址,则进程中进行的其他内存分配操作就不能使用该段虚拟地址空间。可以使用VirtualFree函数将提交页面转换为保留页面。3)空闲(Free)页面空闲页面是指那些可以保留或提交的可用页面,对当前的进程是不可存取的。可以使用系统函数VirtualFree将提交页面或保留页面转换为空闲页面。页面的操作针对上述几种虚拟内存页面所处的几种不同状态,可以对其进行不同的操作,这些操作包括:保留一个

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

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

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