操作系统实验实验报告-近似LRU算法的修改与验证

上传人:桔**** 文档编号:563754578 上传时间:2023-09-30 格式:DOCX 页数:6 大小:72.12KB
返回 下载 相关 举报
操作系统实验实验报告-近似LRU算法的修改与验证_第1页
第1页 / 共6页
操作系统实验实验报告-近似LRU算法的修改与验证_第2页
第2页 / 共6页
操作系统实验实验报告-近似LRU算法的修改与验证_第3页
第3页 / 共6页
操作系统实验实验报告-近似LRU算法的修改与验证_第4页
第4页 / 共6页
操作系统实验实验报告-近似LRU算法的修改与验证_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《操作系统实验实验报告-近似LRU算法的修改与验证》由会员分享,可在线阅读,更多相关《操作系统实验实验报告-近似LRU算法的修改与验证(6页珍藏版)》请在金锄头文库上搜索。

1、操作系统实验 实验报告班号:姓名:学号:实验日期:2011.11.实验名称:近似LRU算法的修改与验证一、实验目的通过修改源代码,使脏页不老化,观察系统效率的变化情况,进一步掌握Windows中 的工作集管理算法。二、实验要求对近似LRU算法进行修改,并编写应用程序,对修改后的算法与原算法的性能进行对 比,并对实验结果给出解释。三、实验过程及结果1) 在系统中增加一个系统调用,用于性能测试。2) 打开源代码,找到判断脏页老化算法的位置3) 对页面老化算法进行修改,使脏页不老化4) 编译内核代码,并复制到虚拟机上启动5) 编写一个应用程序,使其申请一个大的内存空间并不断读写,并通过系统调用,对算

2、法 修改前后的系统性能进行测试6) 分析测试结果产生的原因。四、实验分析因为系统调用的实现都是通过中断来实现的,可以利用中断的方式调用新添加的系统调 用。1) 修改文件 ntoskei386systable.asm:在第 392 行插入语句:TABLE_ENTRY My_sysall,l,3将下面紧挨着的一条语句改为: TABLE_END 296修改文件 publicsdkincNtexapi.h:从第 2766 行开始插入语句(其实只是一个函数声明):NTSYSCALLAPI LONG NTAPINtMy_sysall(_ _in LONG input, _ _out PLONG outpu

3、t,_ _out PLONG page);2)修改文件ntospsCreat.c,主要对进程相关结构操作,所以考虑在这里添加系统调用。ZCopyright (c) Microsoft Corporation. All rights reserued.Vou may only use this code 1F ijou agree to the terms of the Windows Research Kernel Source Code License agreement (see License.txt If you do not agree to the terms, do not us

4、e the code.Module Nane:create.cAbstract:Process and Thread Creation.ttinclude psp.hULONGPspUnhandledExceptionInSpstemThread(IN PEXCEPTION_POINTERS Exceptionpointers井pragma alloc_text(PAGE, NtCreateThread)pragma alloc_text(PAGE, PsCreateSystenThread)pragma alloc_text(PAGE, PspCreateThread)pragma allo

5、c_text(PAGE, NtCreateProcess)ttpragma alloc_text(PAGE, NtCreateProcessEx)ttpragma alloc_text(PAGE, PsCreateSystemProcess)ttpragma alloc_text(PAGE, PspCreateProcess)(pragma alloc_text(PAGE, PsSetCreateProcessNotiFyRoutine)ttpragma alloc_text(PAGE, PsSetCreateThreadNotifpRoutine)ttpragma alloc_text(PA

6、GE, PsRenoueCreateThreadNotiFyRoutine)ttpragma alloc_text(PAGE, PspUser Threadstar tup)ttpragma alloc_text(PAGE, PsSetLoadlmageNotifyRoutine)pragma alloc_text(PAGE, PsRemoueLoadlmageNotifpRoutine)井pragma alloc_text(PAGE, PsCalllmageNotiFpRoutines)井pragma alloc_text(PAGE, PspUnhandledExceptionlnSstem

7、Thread)井pragma alloc_text(PAGE, PspSstemThreadStartup)井pragma alloc_text(PAGE, PspImageNotiFiTest)extern UNICODE_STRING CmCSDUersionString;ttifdef ALLOC_DATA_PRAGMA(pragma data_seg(PAGEDATA)ttendif第 43 行插入如下代码: #pragma alloc_text(PAGE, NtMy_sysall) 文件的最后插入该函数的实现:LONG NtMy_sysall (_in LONG input, _ou

8、t PLONG output,_out PLONG page)Add your code here.3) 修改文件 ntosinitntoskrnl.src:/ Vou nay only use this code if you / IF you do not agree to the terns, /agree to the terms of the Windows Research Kernel Source Code License agreement (see License do not use the code.ttundef RtlMoueMemory ttundef RtlCo

9、pyMemory ttundef RtlFillMemory ttundef RtlZeroMemory NAME ntoskrnl.exeEXPORTSCcCanlWriteCcCoppReadCcCopyWriteCcDeFerWriteCcFastCoppReadCcFastCopyWrite/Data-usepointerForaccess/Data-usepointerForaccess/Data-usepointerForaccessCcFastMdlReadWait CONSTANT CcFastReadNotPossible CONSTANT CcFastReadWait CO

10、NSTANT CcFlushCacheCcGetDirtpPagesCcGetFileObjectFronBcb CcGetFileObjectFronSectionPtrs CcGetFlushedUalidData CcGetLsnForFileObject CcInitializeCacheMapCcIsThereDirtDataCcMapDataCcMdlReadCcMdlReadConpleteCcMdlWriteAbortCcMdlWriteConpleteCcPinMappedDataCcPinReadCcPrepareMdlWriteCcPreparePinWriteCcPur

11、geCacheSectionCcRemapBcbCcRepinBcbCcScheduleReadAhead CcSetfidditionalCachefittributes CcSetBcbOwnerPointerCcSetDirtpPageThresholdCcSetDirtpPinnedDataCcSetFileSizesCcSetLogHandleForFile CcSetReadAheadGranularity CcUninitializeCacheMap CcUnpinDataCcU叩inDataForThreadCcUnpinRepinnedBcb在第912行插入字符串:NtMy_

12、sysall4)使用nmake x86=编译内核,将新生成的内核映像文件wrkx86.exe替换原内核映像, 并用新内核启动系统。用户态调用新添加的系统调用在 VC 中建立应用程序,添加如下代码:LONG _stdcall add_syscall(IN LONG input, OUT PLONG output,OUT PLONG page)char* stackFrame = (char* )&input;/参数指针_asmmov eax, 128H; /新添加系统调用的序号mov edx, stackFrame;/参数的指针,后面的参数会自动传到内核 int 2EH;/系统调用中断之后通过add_syscall来调用添加的系统调用。五、所遇问题及解决方法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号