收藏 分享(赏)

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

上传人:jinchen 文档编号:8766768 上传时间:2019-07-11 格式:DOC 页数:7 大小:57.50KB
下载 相关 举报
操作系统内存管理实验指导书.doc_第1页
第1页 / 共7页
操作系统内存管理实验指导书.doc_第2页
第2页 / 共7页
操作系统内存管理实验指导书.doc_第3页
第3页 / 共7页
操作系统内存管理实验指导书.doc_第4页
第4页 / 共7页
操作系统内存管理实验指导书.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、实验二 内存管理实验一、实验目的1 掌握基本的主存分配和回收算法,了解 Windows 2000/XP的虚拟内存机制。2 学习使用 Windows 2000/XP 的与内存相关的 API 函数。3 掌握请求分页存储管理方式。二、实验内容及要求1 实验内容使用Windows 2000/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 实验要求 学习并理解请求分页存储管理方式; 学习了解虚拟存储技术的技术特点; 熟悉实验环境,掌握相关 API 的使用方法; 设计程序,实现以页为单位的虚拟内存分配方法; 不限制所使用的程序设计语言; 查阅有关资

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

5、能和使用方法简单介绍。可以通过 GetSystemInfo,GlobalMemoryStatus 和 VirtualQuery 来查询进程虚空间的状态。 1)VOID GetSystemInfo ( LPSYSTEM_INFO lpSystemInfo );数据结构 SYSTEMINFO 定义如下:typedef struct _SYSTEM_INFO DWORD dwOemld;DWORD dwPageSize;LPVOID lpMinimumApplicationAddress;LPVOID lpMaximumApplicationAddress;DWORD dwActiveProcess

6、orMask;DWORD dwNumberOfProcessors;DWORD dwProcessorType;DWORD dwAllocationGranularity;DWORD dwReserved; SYSTEM_INFO, *LPSYSTEM_INFO;2)VOID GlobalMemoryStatus (LPMEMORYSTATUS lpBuffer);数据结构 MEMORYSTATUS 定义如下:typedef struct _ MEMORYSTATUS DWORD dwLength;DWORD dwMemoryLoad;DWORD dwTotalPhys;DWORD dwAva

7、ilPhys;DWORD dwTotalPageFile;DWORD dwAvailPageFile;DWORD dwTotalVirtual;DWORD dwAvailVirtual; MEMORYSTATUS, * LPMEMORYSTATUS;3)DWORD VirtualQuery ( LPCVOLD lpAddress,PMEMORY_BASIC_INFORMATION lpBuffer, DWORD dwLength);数据结构 MEMORY_BASIC_INFORMATION 定义如下:typedef struct _ MEMORY_BASIC_INFORMATION PVOID

8、 BaseAddress;PVOID AllocationBase;DWORD AllocationProtect;DWORD RegionSize;DWORD State;DWORD Protect;DWORD Type; MEMORY_BASIC_INFORMATION;还有一些函数,例如 VirtualAlloc,VirtualAllocEx,VirtualFree 和VirtualFreeEx 等,用于虚拟内存的管理,详情请见 Microsoft 的 Win32 API Reference Manual。实 验 报 告课程名称 计算机操作系统 专业班级 软件 1131 姓 名 学 号

9、电气与信息学院和谐 勤奋 求是 创新实验教学考核和成绩评定办法1 课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。2 单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。3 实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现) ;3)实验报告;权重分别为 0.2 、0.4 、 0.4;原则上根据上述三个方面进行综合评定。学生未取得 1)和 2)项成绩时,第 3)项成绩无效。4 实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实

10、验中出现的问题。实验成绩在教师手册中有记载。实验报告主要内容一 实验目的 二 实验仪器及设备三 实验原理四 实验步骤五 实验记录及原始记录六 数据处理及结论七 实验体会(可选项)注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用 A4 纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。2. 实验类别指验证、演示、综合、设计、创新(研究) 、操作六种类型实验。3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。实验题目 内存管理实验实验室 计算机机房 实验时间 2012 年 11 月 13、16 日 成 绩 指导教师签字:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报