软 件 学 院 实 验 报 告
课程名称: 操作系统原理 实验项目: 虚拟内存页面置换算法 实 验 室: 姓 名: 学 号: 专业班级: 实验时间: 2014.12.21
实验成绩
评阅教师
一、 实验目的及要求 通过这次实验,加深对虚拟内存页面置换概念的理解,进一步掌握先进先出FIFO、最佳置换OPI和最近最久未使用LRU页面置换算法的实现方法。结合Linux的内层的分析方法查看内存的分配过程及linux kernel的内存管理机制。 二、 实验性质 设计性 三、实验学时 2学时 四、实验环境 1.实验环境: C与C++程序设计学习与实验系统 2.知识准备: (1)使用Linux的基本命令; (2)了解Linux vmstat、free、top等命令查看linux系统的内存分配情况; (3)掌握虚拟内存页面置换算法FIFO等基本算法理论。 五、实验内容及步骤 假设有n个进程分别在T1, … ,Tn时刻到达系统,它们需要的服务时间分别为S1, … ,Sn。分别采用先来先服务FCFS和短作业优先SJF进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。 通过已知最小物理块数、页面个数、页面访问序列、及采用置换方式可以得出页面置换的缺页次数和缺页率,及每次缺页时物理块中存储。 1.输入的形式 int PageOrder[MaxNumber];//页面序列 int PageNum,LackNum=0,BlockNum;//页面个数,缺页次数,最小物理块数 2. 输出的形式 double LackPageRate//缺页率 缺页个数 每次缺页时物理块中存储 程序所能达到的功能 模拟先进先出FIFO、最佳置换OPI和最近最久未使用LRU页面置换算法的工作过程。假设内存中分配给每个进程的最小物理块数为m,在进程运行过程中要访问的页面个数为n,页面访问序列为P1, … ,Pn,分别利用不同的页面置换算法调度进程的页面访问序列,给出页面访问序列的置换过程,计算每种算法缺页次数和缺页率。测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。 程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。 int PageOrder[MaxNumber];//页面序列 int PageCount[MaxNumber]={0};//计算内存内数据离下一次出现的距离 int PageNum,LackNum=0,BlockNum;//页面个数,缺页次数,最小物理块数 double LackPageRate=0; bool found=false; 3.程序流程图 程序流程图如图5-3-1所示。 图5-3-1 算法流程图 六、实验数据及结果分析 (一)调试过程中出现的问题及解决方法 1.遇到的问题 调试中,中文字符出现编码错误; 2.解决方法 更改终端的编码方式。 (二)实验执行的结果 1.FIFO算法执行结果如图6-2-1所示。 2.OPT算法执行结果如图6-2-2所示。 图6-2-1 FIFO算法执行结果 3.LRU算法执行结果如图6-2-3所示。 图6-2-2 OPT算法执行结果 图6-2-3 LRU算法执行结果
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统报告3在线全文阅读。
相关推荐: