操作系统内管理实验指导书.doc

操作系统内管理实验指导书.doc

ID:58413996

大小:57.50 KB

页数:6页

时间:2020-05-11

操作系统内管理实验指导书.doc_第1页
操作系统内管理实验指导书.doc_第2页
操作系统内管理实验指导书.doc_第3页
操作系统内管理实验指导书.doc_第4页
操作系统内管理实验指导书.doc_第5页
资源描述:

《操作系统内管理实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二内存管理实验一、实验目的1.掌握基本的主存分配和回收算法,了解Windows2000/XP的虚拟内存机制。2.学习使用Windows2000/XP的与内存相关的API函数。3.掌握请求分页存储管理方式。二、实验内容及要求1.实验内容使用Windows2000/XP的API函数,创建两个线程,一个用于模拟内存的分配活动,一个用于跟踪并记录内存分配过程中的内存变化情况,要求这两个线程使用信号量进行同步。每次内存分配按照相应的测试数据的要求进行操作。每个测试数据单元描述一次内存分配操作,测试数据有程序随机自动产生,并把产生的测试数据保存在一个文件中。模拟内存分配活动的线程可以

2、从测试数据文件中读出要进行的内存操作。每个内存操作包括以下内容:1)时间:操作等待时间,即等待相应时间后执行内存分配操作(要求随机产生);2)块数:操作的内存页数(要求随机产生);3)操作类型:可以是保留(reserve)、提交(commit)、释放(release)、回收(decommit)、加锁(lock)、解锁(unlock);保留:在虚拟地址空间分配,不分配物理空间提交:在物理地址空间分配回收:释放物理空间,但保留虚拟空间释放:释放物理空间和虚拟空间加锁:常驻内存,即防止操作系统把对应的内存空间换出到外存可以将这些操作编号,存放于文件中。4)大小:指块的大小;5)访问

3、权限:共五种PAGE_READONLY、PAGE_READWRITE、PAGE_EXCUTE、PAGE_EXECUTE_READ和PAGE_EXECUTE_READWRITE。可以将这些权限编号,存放于文件中。运行结果显示要求:每次内存分配操作给出一组此次分配的相关信息,包括操作类型、权限类型、分配的起始地址和大小等;每次内存分配操作之后给出一组关于系统和内存的当前状态的信息。2.实验要求l学习并理解请求分页存储管理方式;l学习了解虚拟存储技术的技术特点;l熟悉实验环境,掌握相关API的使用方法;l设计程序,实现以页为单位的虚拟内存分配方法;l不限制所使用的程序设计语言;l查

4、阅有关资料;l提交实验报告。三、相关知识介绍1.内存管理内存管理是Windows2000/XP执行体的一部分,是整个操作系统的重要组成部分。默认情况下,32位Windows2000/XP上每个用户进程可以占有2GB的私有地址空间,操作系统占有剩下的2GB。Windows2000/XP在x86体系结构上利用二级页表结构来实现虚拟地址向物理地址的变换。一个32位虚拟地址被解释为三个独立的分量——页目录索引、页表索引和字节索引——它们用于找出描述页面映射结构的索引。页面大小及页表项的宽度决定了页目录和页表索引的宽度。1.相关API的功能及使用下面给出的是本实验使用到的API的功能和

5、使用方法简单介绍。可以通过GetSystemInfo,GlobalMemoryStatus和VirtualQuery来查询进程虚空间的状态。 1)VOIDGetSystemInfo(LPSYSTEM_INFOlpSystemInfo);数据结构SYSTEMINFO定义如下:typedefstruct_SYSTEM_INFO{DWORDdwOemld;DWORDdwPageSize;LPVOIDlpMinimumApplicationAddress;LPVOIDlpMaximumApplicationAddress;DWORDdwActiveProcessorMask;DWOR

6、DdwNumberOfProcessors;DWORDdwProcessorType;DWORDdwAllocationGranularity;DWORDdwReserved;}SYSTEM_INFO,*LPSYSTEM_INFO; 2)VOIDGlobalMemoryStatus(LPMEMORYSTATUSlpBuffer);数据结构MEMORYSTATUS定义如下:typedefstruct_MEMORYSTATUS{DWORDdwLength;DWORDdwMemoryLoad;DWORDdwTotalPhys;DWORDdwAvailPhys;DWORDdwTota

7、lPageFile;DWORDdwAvailPageFile;DWORDdwTotalVirtual;DWORDdwAvailVirtual;}MEMORYSTATUS,*LPMEMORYSTATUS; 3)DWORDVirtualQuery(LPCVOLDlpAddress,PMEMORY_BASIC_INFORMATIONlpBuffer,DWORDdwLength);数据结构MEMORY_BASIC_INFORMATION定义如下:typedefstruct_MEMORY_BASIC_INFORM

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

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

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