物理存储器与进程逻辑地址空间地管理系统

物理存储器与进程逻辑地址空间地管理系统

ID:47025424

大小:558.62 KB

页数:14页

时间:2019-06-28

物理存储器与进程逻辑地址空间地管理系统_第1页
物理存储器与进程逻辑地址空间地管理系统_第2页
物理存储器与进程逻辑地址空间地管理系统_第3页
物理存储器与进程逻辑地址空间地管理系统_第4页
物理存储器与进程逻辑地址空间地管理系统_第5页
资源描述:

《物理存储器与进程逻辑地址空间地管理系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、操作系统实验报告课程名称操作系统实验课程编号0906553实验项目名称物理存储器与进程逻辑地址空间的管理学号年级姓名专业学生所在学院指导教师实验室名称地点哈尔滨工程大学计算机科学与技术学院13第五次物理存储器与进程逻辑地址空间的管理一、实验概述1.实验名称物理存储器与进程逻辑地址空间的管理2.实验目的通过查看物理存储器的使用情况,并练习分配和回收物理内存,从而掌握物理存储器的管理方法。通过查看进程逻辑地址空间的使用情况,并练习分配和回收虚拟内存,从而掌握进程逻辑地址空间的管理方法。3.实验类型验证

2、+设计4.实验内容准备实验阅读控制台命令“pm”相关的源代码,并查看其执行的结果分配物理页和释放物理页阅读控制台命令“vm”相关的源代码,并查看其执行的结果在系统进程中分配虚拟页和释放虚拟页在应用程序进程中分配虚拟页和释放虚拟页二、实验环境EOS操作系统和OSLab集成实验环境,主要运用了C语言。三、实验过程1.设计思路和流程图132.需要解决的问题及解答1)按F10单步调试MiAllocateAnyPages函数的执行过程,尝试回答下面的问题:(1)本次分配的物理页的数量是多少?分配的物理页的页

3、框号是多少?(2)物理页是从空闲页链表中分配的?还是从零页链表中分配的?(3)哪一行语句减少了空闲页的数量?哪一行语句将刚刚分配的物理页由空闲状态修改为忙状态?(4)绘制MiAllocateAnyPages函数的流程图。答:①本次分配的物理页的数量是1,分配的物理页的页框号是0x409;②物理页是从空闲页链表中分配的③第226行MiFreePageListHead=MiGetPfnDatabaseEntry(Pfn)->Next;和第227行MiFreePageCount--;减少了空闲页的数量,

4、第229行将刚刚分配的物理页由空闲状态修改为忙状态;④见实验过程开头流程图部分。2)按F10单步调试MiFreePages函数的执行过程,尝试回答下面的问题:(1)本次释放的物理页的数量是多少?释放的物理页的页框号是多少?释放的物理页是之前分配的物理页吗?(2)释放的物理页是被放入了空闲页链表中?还是零页链表中?(3)绘制MiFreePages函数的流程图。答:①本次释放的物理页的数量是1,释放的物理页的页框号0x409,释放的物理页是之前分配的物理页;②释放的物理页被放入了空闲页链表中;③见实验

5、过程开头流程图部分。3)按F10单步调试MmAllocateVirtualMemory函数的执行过程,尝试回答下面的问题:(1)分配的虚拟页的起始地址是多少?分配的虚拟页的数量是多少?它们和参数BaseAddress和RegionSize初始化的值有什么样的关系?(2)分配虚拟页的同时有为虚拟页映射实际的物理页吗?这是由哪个参数决定的?(3)分配的虚拟页是在系统地址空间(高2G)还是在用户地址空间(低2G)?这是由哪个参数决定的?(4)参考MiReserveAddressRegion函数的定义和注

6、释,说明该函数的功能。13答:①分配的虚拟页的起始地址是0xa0003000,分配的虚拟页的数量是1,BaseAddress和RegionSize初始化的值是期望保留或者提交的地址区域的起始地址和大小;②分配虚拟页的同时有为虚拟页映射实际的物理页,这是由第三个参数AllocationType决定的;③分配的虚拟页是在系统地址空间(高2G),这是由第四个参数SystemVirtual决定的;④MiReserveAddressRegion函数的功能是保留一段虚拟地址区域。4)按F10单步调试MmFre

7、eVirtualMemory函数的执行过程,尝试回答下面的问题:①本次释放的虚拟地址是多少?释放的虚拟页是之前分配的虚拟页吗?②参考MiFindReservedAddressRegion函数、MiFreeAddressRegion函数和MiDecommitPages函数的定义和注释,说明这些函数的功能。答①本次释放的虚拟地址是0xa000300,是之前分配的虚拟页;②MiFindReservedAddressRegion函数用于查找已保留地址区域,如果目标区域非已保留区域则返回失败,MiFreeA

8、ddressRegion函数用于释放已保留地址区域和MiDecommitPages函数用于释放映射在连续虚拟页框上的物理页框。3.源程序并附上注释#include"EOSApp.h"//头文件#defineN10000//定义等待时间10S=100000msINT*d;intmain()//主函数{/*调用API函数VirtualAlloc分配一个整型变量所需的空间并使用一个整型变量的指针指向这个空间*/if(d=VirtualAlloc(0,sizeof(int),MEM_RES

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

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

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