欢迎来到天天文库
浏览记录
ID:56707537
大小:667.00 KB
页数:21页
时间:2020-07-05
《操作系统实验 第四讲 物理存储器与进程逻辑地址空间的管理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、操作系统实验报告课程名称操作系统实验实验项目名称物理存储器与进程逻辑地址空间的管理学号班级20120616姓名专业计算机科学与技术学生所在学院计算机科学与技术学院指导教师初妍实验室名称地点21#428哈尔滨工程大学计算机科学与技术学院一、实验概述1.实验名称物理存储器与进程逻辑地址空间的管理2.实验目的通过查看物理存储器的使用情况,并练习分配和回收物理内存,从而掌握物理存储器的管理方法。通过查看进程逻辑地址空间的使用情况,并练习分配和回收虚拟内存,从而掌握进程逻辑地址空间的管理方法。3.实验类型验证+
2、设计4.实验内容3.1准备实验3.2阅读控制台命令“pm”相关的源代码,并查看其执行的结果3.3分配物理页和释放物理页3.4阅读控制台命令“vm”相关的源代码,并查看其执行的结果3.5在系统进程中分配虚拟页和释放虚拟页3.6在应用程序进程中分配虚拟页和释放虚拟页3.6.1要求3.6.2测试方法3.6.3提示二、实验环境操作系统windosxp编译器OSLab语言c语言三、实验过程1.设计思路和流程图MiAllocateAnyPages函数的流程图MiFreePages函数的流程图2.需要解决的问题及解
3、答(1)在实验指导的P160-4.和5.按F10单步调试MmAllocateVirtualMemory函数的执行过程,要求给出监视窗口BaseAddress和RegionSize个变量前后变化截图界面。截图见3.5。在实验指导的P160-1.和2.按F10单步调试MmFreeVirtualMemory函数的执行过程,要求给出监视窗口BaseAddress和RegionSize个变量前后变化截图界面。截图见3.5。(2)按照《实验指导》的P160-3.6在应用程序进程中分配虚拟页和释放虚拟页,编写代码。
4、要求至少给出源代码及其解释。程序见3.6.2。(3)按F10单步调试MiAllocateAnyPages函数的执行过程,尝试回答下面的问题:①本次分配的物理页的数量是多少?分配的物理页的页框号是多少?②物理页是从空闲页链表中分配的?还是从零页链表中分配的?③哪一行语句减少了空闲页的数量?哪一行语句将刚刚分配的物理页由空闲状态修改为忙状态?答:①本次分配的物理页的数量是1,分配的物理页的页框号是0x409;②物理页是从空闲页链表中分配的③第226行MiFreePageListHead=MiGetPfnD
5、atabaseEntry(Pfn)->Next;和第227行MiFreePageCount--;减少了空闲页的数量,第229行将刚刚分配的物理页由空闲状态修改为忙状态;(4)按F10单步调试MiFreePages函数的执行过程,尝试回答下面的问题:①本次释放的物理页的数量是多少?释放的物理页的页框号是多少?释放的物理页是之前分配的物理页吗?②释放的物理页是被放入了空闲页链表中?还是零页链表中?③绘制MiFreePages函数的流程图。答:①本次释放的物理页的数量是1,释放的物理页的页框号0x409,释
6、放的物理页是之前分配的物理页;②释放的物理页被放入了空闲页链表中;③见实验过程开头流程图部分。(5)按F10单步调试MmAllocateVirtualMemory函数的执行过程,尝试回答下面的问题:①分配的虚拟页的起始地址是多少?分配的虚拟页的数量是多少?它们和参数BaseAddress和RegionSize初始化的值有什么样的关系?②分配虚拟页的同时有为虚拟页映射实际的物理页吗?这是由哪个参数决定的?③分配的虚拟页是在系统地址空间(高2G)还是在用户地址空间(低2G)?这是由哪个参数决定的?④参考M
7、iReserveAddressRegion函数的定义和注释,说明该函数的功能。答:①分配的虚拟页的起始地址是0xa0003000,分配的虚拟页的数量是1,BaseAddress和RegionSize初始化的值是期望保留或者提交的地址区域的起始地址和大小;②分配虚拟页的同时有为虚拟页映射实际的物理页,这是由第三个参数AllocationType决定的;③分配的虚拟页是在系统地址空间(高2G),这是由第四个参数SystemVirtual决定的;④MiReserveAddressRegion函数的功能是保留
8、一段虚拟地址区域。(6)按F10单步调试MmFreeVirtualMemory函数的执行过程,尝试回答下面的问题:①本次释放的虚拟地址是多少?释放的虚拟页是之前分配的虚拟页吗?②参考MiFindReservedAddressRegion函数、MiFreeAddressRegion函数和MiDecommitPages函数的定义和注释,说明这些函数的功能。答:①本次释放的虚拟地址是0xa0003000,是之前分配的虚拟页;②MiFindReservedAdd
此文档下载收益归作者所有