存储管理算法实验报告-计算机操作系统教程(第三版)(共5页).doc
《存储管理算法实验报告-计算机操作系统教程(第三版)(共5页).doc》由会员分享,可在线阅读,更多相关《存储管理算法实验报告-计算机操作系统教程(第三版)(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上存储器管理(一)一、实验目的模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。二、实验目的在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实验帮助同学理解在分页式存储管理中怎样实现虚拟存储器。三、实验题目示例程序给出了模拟分页式存储管理中硬件的地址转换和产生缺页中断;请写出用先进先出(FIFO)页面调度算法处理缺页中断或用最近最少用(LRU)页面调度算法处理缺页中断的程序。四、示例程序源代码
2、#include stdio.h#define blockLength 128typedef enum NO=0,YESFLAG;typedef struct pagetable int pageNumber; FLAG flag; int memoryBlock; int place;PAGETAB;typedef struct job int pageNumber; int unitNumber;JOB;PAGETAB pageTAB7=0,YES,5,11,1,YES,8,12,2,YES,9,13,3,YES,1,21,4,NO,-1,22,5,NO,-1,23,6,NO,-1,121
3、;JOB work12 = 0,70,1,50,2,15,3,21,0,56,6,40,4,53,5,23,1,37,2,78,4,1,6,84;int main(int argc, char* argv)/first init page table / and work list / look for the work list and pick one to fix the page table for(int i=0; i12;i+) printf(Instruction sequence :%dn,i+1); int j = worki.pageNumber; printf(The p
4、age %d is in the memory? %s!n,j,(pageTABj.flag = YES)?YES:NO); if(pageTABj.flag = YES) int absoluteAddress = pageTABj.memoryBlock*blockLength+worki.unitNumber; printf(Instruction absolute address:%dn,absoluteAddress); else printf(missing page interrupt, page fault interrupt!n); return 0;存储器管理(二)一、实验
5、目的:掌握分页式存储管理的基本概念和实现方法。要求编写一个模拟的分页式管理程序,并能对分页式存储的页面置换算法进行编写和计算各个算法的缺页率。二、程序设计:假定一个能够存放M个页面的内存,当发生缺页时,调入一个页面,通过LRU算法求出应该置换出的页面号。输入一连串的页面号,程序自动选择调出的页面并计算缺页率。设计页面置换算法,这里采用最近最久未使用置换算法LRU。LRU算法的实现要归功于一个8位的寄存器的实现。三、算法说明:执行程序时,当主存没有可用页面时,为了选择淘汰主存中的哪一页面,腾出1个空闲块以便存放新调入的页面。淘汰哪个页面的首要问题是选择何种置换算法。该程序采用LRU方法选择,依置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储 管理 算法 实验 报告 计算机 操作系统 教程 第三
限制150内