页面置换算法实验

页面置换算法实验

ID:41930845

大小:56.50 KB

页数:4页

时间:2019-09-05

页面置换算法实验_第1页
页面置换算法实验_第2页
页面置换算法实验_第3页
页面置换算法实验_第4页
资源描述:

《页面置换算法实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《页面置换算法实验》指导书一、实验教学目标页面置换算法的好坏将宜接影响系统的整体运行效能,好的置换算法应能适当地降低页面置换的频率,尽可能避免系统“抖动”现象。本实验的FI的是让学生加深对内存页而调度以及页而置换算法的理解,掌握LRU算法的具体实现方法。二、实验教学主要内容加深对内存页面调度以及页面置换算法的理解,掌握LRU算法的具体实现方法。并修改页面替换算法。三、实验要求四.评分细则实验总分值100课堂实验项目名称分值评分标准备注修改页面替换算法100课后实验项目名称分值评分标准备注五、课堂实验项目1.实验一:修改页面替换算法2.实验原理及内容工作集是内存管理一个相当重要的概念

2、,Windows系统通常将工作集分为进程工作集与系统工作集,分别用于跟踪各个进程与系统的物理内存使用情况。Windows内核屮对工作集页而的操作分工作集管理器(系统级)的页而修剪算法和进程口己的页面替换算法两种,前者主要是定时扫描系统的内存利用情况,同时对某些进程进行页而修剪,比如选定优先级低的进程,应用最近最久未使用算法(LRU)选定要删除的页面进行删除;而后者主要是在进程内部,当进程屮请页面超过一定峰值再申请页面时,工作集大小不再增加,而是以一定的策略替换已有页面。1.实验步骤工作集相关代码分布在表1中说明。针对工作集的结构,选取几个具冇代表性的操作函数进行分析,为后面进行页面

3、算法的修改打卜•基础。首先调用MiAddWorkingSetPage()向工作集中添加页面失败时,调用中MiDoReplaeement()函数对工作集进行替换,同吋修改MiReplacing为True,说明当前系统页面己经紧张,以便在启动工作集管理器时,根据MiReplacing的值执行修剪操作。其中MiDoReplacement()(在272行)主耍调用了MiReplaceWorkingSetEntry()进行页面替换。表1工作集代码分布文件名称模块功能ps.h工作集的部分结构声明mi.h存储器管理相关的数据结构和接口wslist.c包含操作工作集结构的系列函数wstree.c实

4、现工作集管理中一些辅助函数wsmanage.c包含操作活动状态进程工作集的函数,同吋实现工作集管理线程卜面让我们把精力集屮在上节课说的wslist.c:591:MiReplaceWorkingSetEntry()这个函数。看懂如下解释的函数算法:1)将工作集链表指针(WsInfo->VmWorkingSetUst)保存在临时变量WorkingSetList屮。将工作集页面指针(Worki昭SetListoWsle)保存在临时变量Wsle屮。将丁作集页面中最后一个可用页面的下标(WorkingSetList->LastEntry)保存在临时变量LastEntry中。将工作集页面中第一

5、个町用页面的卜•标(WorkingSetList・>Firs(Dynamic)保存在临时变量FirstDynamic屮。将工作集页面屮下一个要修剪页面的卜•标(WorkingSetListoNextSlot)保存在临吋变量WorkingSetlndex中。2)检查下一个要修剪的页面的下标是否在可用页面下标范围内。如果不是(比笫一个可川页面的卜-标小或比最后一个可川页面的F标人),则设置下一个要修剪的页血下标(WorkingSetlndex)为第一个可用页曲的下标WorkingSetlndex=FirstDynamic03)TheNextSlot=WorkingSetlndex;初始

6、化已扫描匚作集页面数目为零;(NumberOfCandidaies二();)初始化最近最不经常使用的工作集页面卜•标为空卜标(OldestWorkingSetlndex=WSLE_NULL_INDEX;)初始化授老年龄为・1(OldestAge=-1;)3)循坏扫描工作集链表4.1循环杏找从WorkingSetlndex开始往后的第一个可用页面的F标。如果WorkingSctIndcx>LastEntry,则WorkingSetlndex=FirstDynamiCo如果找不到可用页面,如果状态为WsleAllocationAny,则WsInfo->GrowthSinceLastEs

7、timate+=1;最后函数返回。如果找到了可用页而,则跳出循环。4.2如果是第一次扫描则,把当前扫描页记为最大年龄页(OldestWorkingSetlndex=WorkingSetlndex;)且最人年龄置・1(OldestAge=-l;)o4.3获収当前扫描的工作集页面的PTE指针,并将其保存在临时变量PointerPte中。4.4如果PointerPte所指的页面没有被访问过且他的年龄人于OldestAge,当前扫描的页面更老。或者Flags为WslcAllo

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

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

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