操作系统实验报告5 - 虚拟内存页面置换算法

小孩js莫北 贡献于2014-12-16

作者 liuqun  创建于2012-06-06 01:30:27   修改者liuqun  修改于2014-06-12 10:38:52字数4622

文档摘要:【实验目的】通过这次实验,加深对虚拟内存页面置换概念的理解,进一步掌握先进先出FIFO,最佳置换OPI和最近最久未使用LRU页面置换算法的实现方法。问题描述:设计程序模拟先进先出FIFO,最佳置换OPI和最近最久未使用LRU页面置换算法的工作过程。假设内存中分配给每个进程的最小物理块数为m,在进程运行过程中要访问的页面个数为n,页面访问序列为P1,…,Pn,分别利用不同的页面置换算法调度进程的页面访问序列,给出页面访问序列的置换过程
关键词:

实验五虚拟内存页面置换算法 【实验目的】 通过这次实验,加深对虚拟内存页面置换概念的理解,进一步掌握先进先出FIFO,最佳置换OPI和最近最久未使用LRU页面置换算法的实现方法。 问题描述: 设计程序模拟先进先出FIFO,最佳置换OPI和最近最久未使用LRU页面置换算法的工作过程。假设内存中分配给每个进程的最小物理块数为m,在进程运行过程中要访问的页面个数为n,页面访问序列为P1, … ,Pn,分别利用不同的页面置换算法调度进程的页面访问序列,给出页面访问序列的置换过程,计算每种算法缺页次数和缺页率。 程序要求如下: 1)利用先进先出FIFO,最佳置换OPI和最近最久未使用LRU三种页面置换算法模拟页面访问过程。 2)模拟三种算法的页面置换过程,给出每个页面访问时的内存分配情况。 3)输入:最小物理块数m,页面个数n,页面访问序列P1, … ,Pn,算法选择1-FIFO,2-OPI,3-LRU。 4)输出:每种算法的缺页次数和缺页率。 实现提示: 用C++语言实现提示: 1)程序中变量定义参考(根据需要可添加)如下: const int MaxNumber=100; int PageOrder[MaxNumber]; int Simulate[MaxNumber][MaxNumber]; int PageCount[MaxNumber]; int PageNum,LackNum; double LackPageRate; bool found; 2)页面置换的实现过程如下: Ø 变量初始化; Ø 接收用户输入最小物理块数m,页面个数n,页面序列P1, … ,Pn,选择算法1-FIFO,2-OPI,3-LRU; Ø 根据用户选择的算法进行页面的分配和置换,输出页面置换算法的模拟过程; Ø 计算选择算法的缺页次数和缺页率; Ø 输出选择算法的缺页次数和缺页率。 运行截图: 文件数据: 程序源码: #include #include using namespace std; const int MaxNum=100; int PageShow[MaxNum][MaxNum]; bool DataShowEnable[MaxNum][MaxNum]; int PageOrder[MaxNum];//页面访问序列 int Block[MaxNum];//物理块序列 int count[MaxNum];//计数器 int PageNum,BlockNum; int M,N;//最小物理块数,页面数 int ChangeTimes; void inputData() { cout<<"请选择数据来源方式:1,手动输入 2,文件输入"<>inputchoice; if(inputchoice==1) { cout<<"请输入物理块数m: "; cin>>BlockNum; M=BlockNum; cout<<"\n请输入页面个数: "; cin>>PageNum; N=PageNum; cout<<"请输入页面访问序列P1, … ,Pn:"<>PageOrder[i]; } else { cout<<"请输入物理块数m: "; cin>>BlockNum; M=BlockNum; cout<<"\n请输入页面个数: "; cin>>PageNum; N=PageNum; cout<<"\n···正在读入数据···"<>PageOrder[i]; cout<<"\n页面访问序列P1, … ,Pn为: "<M)//物理块存满时置换 { temp=-1; for( j=0;jM)//物理块已满 { temp=-1; for( j=0;jM)//物理块存满 { temp=-1; for( j=0;j>choice; switch(choice) { case '1': cout<<"\n··········先进先出(FIFO)页面置换算法··········\n"; FIFO(); cout<>choice; getchar(); }

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 8 人已下载

下载文档