欢迎来到天天文库
浏览记录
ID:20462936
大小:1.18 MB
页数:24页
时间:2018-10-11
《操作系统实验七》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程名称操作系统实验实验项目名称物理存储器与进程逻辑地址空间的管理学号班级姓名专业学生所在学院指导教师实验室名称地点一、实验概述1.实验名称物理存储器与进程逻辑地址空间的管理2.实验目的熟悉操作系统集成实验环境OSLab的基本使用方法。练习编译、调试EOS操作系统内核以及EOS应用程序。3.实验类型验证二、实验环境OSLab实验过程3.2执行控制台命令“pm”,查看物理存储器的信息3.3分配物理页和释放物理页在1091和1103行插入断点丄UGO10891090®109110921093109410951096109710981099110011011102鏽
2、1103110411051106••攀麵画fprintfIStdHandle^fprintf(StdHandle,fprintf(StdHandle,fprintf(StdHandle,fft((ififfff(ti(iffff(ti(f(fff(f//分配一个物理页//MiA11ocateAnyPages(l,PfnArray);/z******AfterAllocat^ZeroedPageCount:%d."FreePageCount:%d."UsedPageCount:%d.////////////////////////////////{/
3、///////I////然后再释放这个物理页//••HiFi^ePages(1,PfnArray);fprintf(StdHandle,z,******AfterFreeOnfprintf(StdHandle,"ZeroedPageCount:%d.监视分配物理页名称值突型UiAllocat«AnyFfts^s{STATUS(UD3NG_PTKPVLDNGJTR)}0x8001o38aUiFre^P^g^s{STATUS(ULOMG_PTR?PULDNG_PTR)}0x8001a5cfSTATUS(U...PfnAr
4、ray{0x409}ULONG-PTR...PfnArray{0x409}UD3NG_PTR释放物理页视▼卩X名称值类型MiAIlocateAnyPa^es(STATUS(uin»G_nKPUDJKG_F7R)}0x8001a38a<.STATUS(U...MiFreePages{STATUS(VL0NG_nKFUIJOKG.PTR)}0x8001a5cf5、㉙监视按F10单步调试MiAllocateAnyPages函数的执行过程,尝试回答6、卜面的问题:(1)本次分配的物理页的数量是1,分配的页框号是0x409(2)物理页是从空闲页链表中分配的(3)第226和227行:MiFreePageListHead=MiGetPfnDatabaseEntry(Pfn)->Next;MiFreePageCount--;减少了空闲页的数量;第229行将刚刚分配的物理页由空闲状态改为忙状态(4)MiAllocateAnyPages函数的流程图按F10单步调试MiFreePages函数的执行过程,尝试回答下而的问题:(1)本次释放的物理页数为],释放的物理页的页框号是0x409,释放的物理页是之前分配的物理页码(27、)释放的物理贞被放入了空闲链表(3)MiFreePages函数流程图返回STATU$_MCMFOV_NOr_allocated"MiFreePages•始否趦波占{I斷■NOYES将分配和释放的物理页数设为2,调试后运行结果:3.4阅读控制台命令“vm”和关的源代码,并查看其执行的结果输入命令pt霉OSLabPC-MicrosoftVirtualPC2007ActionEditQDfloppyy«lpCONSOLE-1(PressCtrl+F1~F8tosuitchconsoleuindou.UeleonetoEOSshell>ptm*«**x-x*Proce8、ssListClProcess)x***x*o•)IDiSystem?!PriorityIV24ThreadCount10PrimaryThreadID2InageNaneMA********ThreadList(10Thread)ID:System?!Priority!StateJParentProcessIDiStartAddress2Y0Ready10x8001817C20V24Waiting10x80015E9A21Y24Running10x8001826D22?24Uaiting10x8001826D23Y24Uaiting10x8001826DZ9、4Y24Uaiting10x80018
5、㉙监视按F10单步调试MiAllocateAnyPages函数的执行过程,尝试回答
6、卜面的问题:(1)本次分配的物理页的数量是1,分配的页框号是0x409(2)物理页是从空闲页链表中分配的(3)第226和227行:MiFreePageListHead=MiGetPfnDatabaseEntry(Pfn)->Next;MiFreePageCount--;减少了空闲页的数量;第229行将刚刚分配的物理页由空闲状态改为忙状态(4)MiAllocateAnyPages函数的流程图按F10单步调试MiFreePages函数的执行过程,尝试回答下而的问题:(1)本次释放的物理页数为],释放的物理页的页框号是0x409,释放的物理页是之前分配的物理页码(2
7、)释放的物理贞被放入了空闲链表(3)MiFreePages函数流程图返回STATU$_MCMFOV_NOr_allocated"MiFreePages•始否趦波占{I斷■NOYES将分配和释放的物理页数设为2,调试后运行结果:3.4阅读控制台命令“vm”和关的源代码,并查看其执行的结果输入命令pt霉OSLabPC-MicrosoftVirtualPC2007ActionEditQDfloppyy«lpCONSOLE-1(PressCtrl+F1~F8tosuitchconsoleuindou.UeleonetoEOSshell>ptm*«**x-x*Proce
8、ssListClProcess)x***x*o•)IDiSystem?!PriorityIV24ThreadCount10PrimaryThreadID2InageNaneMA********ThreadList(10Thread)ID:System?!Priority!StateJParentProcessIDiStartAddress2Y0Ready10x8001817C20V24Waiting10x80015E9A21Y24Running10x8001826D22?24Uaiting10x8001826D23Y24Uaiting10x8001826DZ
9、4Y24Uaiting10x80018
此文档下载收益归作者所有