如何进行分页存储器管理的实验?
分页存储器管理实验
一、实验目的与要求
1、学习i386处理器的二级页表硬件机制:通过实际操作,深入理解i386处理器在分页存储器管理中的工作原理。
2、理解分页存储器管理原理:掌握虚拟地址到物理地址的映射机制。
3、查看EOS应用程序进程和系统进程的二级页表映射信息:通过具体实验,观察和分析页目录和页表的管理方式。
4、编程修改页目录和页表的映射关系:实践分页地址变换原理,增强对分页存储管理的理解。
二、实验环境
1、操作系统:Windows XP
2、开发平台:Tevation OS Lab
3、实验对象:EOS操作系统
三、实验步骤
准备实验
1、启动OS Lab:打开Tevation OS Lab集成环境。
2、新建一个EOS应用程序项目:按照指导创建并配置一个新的EOS应用程序项目。
查看EOS应用程序进程的页目录和页表
1、使用memory.c文件替换源代码:将提供的memory.c文件中的源代码复制到EOS应用程序项目的EOSApp.c文件中。
2、添加getcr3.asm文件:
右键点击“项目管理器”窗口中的“源文件”文件夹节点。
选择“添加”中的“添加新文件”,选择“asm源文件”模板。
在“名称”中输入文件名称“func”。
点击“添加”按钮,并将getcr3.asm文件中的源代码复制到func.asm文件中。
3、生成并启动调试:
按F7生成修改后的EOS应用程序项目。
按F5启动调试。
4、查看输出信息:
应用程序执行的过程中,会将该进程的二级页表映射信息输出到虚拟机窗口和OS Lab“输出”窗口中。
将“输出”窗口中的内容复制到一个文本文件中以备分析。
查看应用程序进程和系统进程并发时的页目录和页表
1、修改EOS应用程序:取消EOSApp.c第121行语句(该语句会让程序等待10秒)的注释。
2、生成并启动调试:
按F7生成修改后的EOS应用程序项目。
按F5启动调试。
3、切换控制台查看系统进程信息:
在“Console-1”中应用程序等待期间,按Ctrl+F2切换到“Console-2”。
输入命令“mm”后按回车,查看系统进程的二级页表映射信息。
将输出内容复制到文本文件中。
4、比较两个进程的页表信息:结合图示,分析应用程序进程和系统进程页目录和页表的差异与共性。
查看应用程序进程并发时的页目录和页表
1、再次修改EOS应用程序:取消EOSApp.c第201行语句(该语句会让程序再次等待10秒)的注释。
2、生成并启动调试:
按F7生成修改后的EOS应用程序项目。
按F5启动调试。
3、创建并发进程:
在“Console-1”中会自动执行EOSApp.exe,创建该应用程序进程。
利用等待时间,按Ctrl+F2切换到“Console-2”。
输入eosapp命令后按回车,再执行一个EOSApp.exe,创建第二个并发进程。
4、查看并发进程的页表信息:
由EOSApp.exe创建的两个并发进程会先后在各自的控制台和OS Lab“输出”窗口中,输出各自的二级页表映射信息。
将输出内容复制到文本文件中。
5、比较并分析:结合图示,分析两个并发进程的用户地址空间和物理页映射情况。
在二级页表中映射新申请的物理页
1、验证第一个上文归纳:
新建一个EOS Kernel项目。
打开ke/sysproc.c文件和本实验文件夹中的MapNewPage.c文件。
在sysproc.c文件的ConsoleCmdMemoryMap函数中找到“关中断”的代码行,将MapNewPage.c文件中的代码插入到“关中断”代码行的后面。
按F7生成该内核项目。
按F5启动调试。
在EOS控制台中输入命令“mm”后按回车,OS Lab会弹出一个调试异常对话框,选择“是”进行调试异常,黄色箭头指向访问虚拟地址0xE0000000的代码行,由于该虚拟地址没有映射物理内存,结束此次调试,然后删除或者注释会触发异常的该行代码。
2、验证其他上文归纳:
按F7生成该内核项目。
按F5启动调试。
在EOS控制台中输入命令“mm”后按回车,在OS Lab的“输出”窗口中查看执行的结果,并将“输出”窗口中的内容复制到一个文本文件中。
四、实验小结
通过本次实验,学生能够更深入地理解分页存储器管理的机制,包括页目录和页表的管理方式、分页地址变换原理以及如何通过编程实现这些功能,也能够观察到不同进程之间的页表变化及其对系统资源的影响。
五、相关问题与解答栏目
问题1:在分页存储管理系统中,当访问的页不在内存时会发生什么?如何处理?
*解释:* 此问题旨在考察对分页系统中缺页中断处理的理解。
问题2:为什么需要二级页表?一级页表是否足够?
*解释:* 这个问题针对分页机制的设计原理,探讨二级页表的必要性和优势。
问题3:在实现页置换算法时,FIFO和LRU各自有何优缺点?在什么场景下会选择不同的置换算法?
*解释:* 此问题鼓励学生思考不同置换算法的特点及适用场景,提高对算法实际应用的理解。
到此,以上就是小编对于“分页存储器管理实验”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
暂无评论,1人围观