操作系统课程设计实验报告模板.docVIP

  • 19
  • 0
  • 约9.17千字
  • 约 25页
  • 2017-05-21 发布于浙江
  • 举报
操作系统课程设计实验报告模板

操作系统课程设计 实验报告书 题 目: 页面置换算法之先进先出 题目编号: 18 院 系: 信息科学与技术学院 班 级: 12级1班 小组成员: 组长:张海洋 学号 组员:李奔 学号 2014-12-31 目 录 一、课程设计任务划分 1 二、基本原理 2 (一)页面置换算法定义 (二)所使用的算法? (三)设计思想 三、基本思路 3 (一)流程图 (二)变量 (三)所用函数 四、调试及实验结果 4 五、个人体会 5 一、课程设计任务划分 (此处编辑小组成员的具体分工) 成员 具体分工 张海洋 设计项目流程 程序合并 实验报告书书写 李奔 程序调试 网上搜索程序资料 心得体会 二、基本原理 (题目所涉及课程内容,用到了那种算法,该算法的基本原理是什么?500字以上,可加页,下同) (一)页面置换算法定义 在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内?存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。?? (二)所使用的算法?? 1) 最佳置换算法(OPT):将以后永不使用的或许是在最 长(未来)时间内 不再被访问的页面换出。 2) 先进先出算法(FIFO):淘汰最先进入内存的页面,即 选择在内存中驻留时间最久的页面予以淘汰。 3) 最近最久未使用算法(LRU):淘汰最近最久未被使用 的页面。 (三)设计思想 选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换: OPT基本思想: 是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。数组next[mSIZE]记录物理块中对应页面的最后访问时间。每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺的页面。 FIFO基本思想: 是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。或者借助辅助数组time[mSIZE]记录物理块中对应页面的进入时间,每次需要置换时换出进入时间最小的页面。 LRU基本思想: 是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。数组flag[10]标记页面的访问时间。每当使用页面时,刷新访问时间。发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所缺的页面。 三、基本思路 (源代码中定义了哪些变量,用到了哪些函数,画出流程图) 总的流程图 源代码 实验环境:vc++,编程语言:c语言 #include stdio.h #include stdlib.h /*全局变量*/ int mSIZE; /*物理块数*/ int pSIZE; /*页面号引用串个数*/ static int memery[10]={0}; /*物理块中的页号*/ static int page[100]={0}; /*页面号引用串*/ static int temp[100][10]={0}; /*辅助数组*/ /*置换算法函数*/ void FIFO(); void LRU(); void OPT(); /*辅助函数*/ void print(unsigned int t); void designBy(); void download(); void mDelay(unsigned int Delay); /*主函数*/ void main() { int i,k,code; system(color 0A); designBy(); printf(┃请按任意键进行初始化操作... ┃\n); printf(┗━━━━━━━━━━━━━━━━━━━━━┛\n); printf( ); getch(); system(cls); system(color 0B); printf(请输入物理块的个数(M=10):); scanf(%d,mSIZE); printf(请输入页面号引用串的个数(P=100):); scanf(%d,pSIZE); puts(请依次输入页面号引用串(连续输入,无需隔开):); for(i=0;ipSIZE;i++) scanf(%1d,page[i]); download(); system(cl

文档评论(0)

1亿VIP精品文档

相关文档