操作系统请求分页式存储管理页面置换算法课程设计报告.doc

上传人:新** 文档编号:511943753 上传时间:2023-08-08 格式:DOC 页数:22 大小:779.68KB
返回 下载 相关 举报
操作系统请求分页式存储管理页面置换算法课程设计报告.doc_第1页
第1页 / 共22页
操作系统请求分页式存储管理页面置换算法课程设计报告.doc_第2页
第2页 / 共22页
操作系统请求分页式存储管理页面置换算法课程设计报告.doc_第3页
第3页 / 共22页
操作系统请求分页式存储管理页面置换算法课程设计报告.doc_第4页
第4页 / 共22页
操作系统请求分页式存储管理页面置换算法课程设计报告.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《操作系统请求分页式存储管理页面置换算法课程设计报告.doc》由会员分享,可在线阅读,更多相关《操作系统请求分页式存储管理页面置换算法课程设计报告.doc(22页珍藏版)》请在金锄头文库上搜索。

1、1操作系统程序设计 课程设计报告课 题: 请求分页式存储管理页面置换算法姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见:评定成绩: 指导老师签名: 年 月 日目录1. 系统描述32. 分析与设计32.1.系统功能模块图32.2.系统文件结构描述32.3.系统功能流程图42.4UI设计以及操作说明:42.5.测试数据及期望113.系统测试124.总结心得体会125.参考文献136.核心代码131. 系统描述系统使用.net framework 4.0开发的,图形用户界面使用winform程序设计,功能模块分别实现了请求分页式存储管理的LRU算法 ,FIFO 算法。

2、通过虚拟系统存储的概念和实现方法,进行运行的时候不需要把所有页面都装入内存中,只需要将部分页面调入内存,就可以运行。在运行过程中,若要访问的页面不在内存中,则需用请求调入的功能将其装入内存中,如果此时内存中没有空白的物理块,就通过页面置换功能淘汰一个页面,根据LRU,FIFO两种淘汰算法来进行页面置换,并能计算出FIFO,LRU两种算法在不同内存容量中的的命中率。系统运行时通过输入访问内存的顺序,以及分配的内存页面数,来进行二种算法的页面置换,实现了虚拟存储的功能和特点。2. 分析与设计2.1.系统功能模块图 图4.1 页式存储管理模块划分 2.2.系统文件结构描述 2.3.系统功能流程图2.

3、4UI设计以及操作说明:主窗体:#region 访问顺序 private void btnSure_Click(object sender, EventArgs e) if (txtOrder.Text.Equals() MessageBox.Show(访问顺序字符串不能为空!, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; order = txtOrder.Text; listBox1.Items.Clear(); string page = order.Split( ); foreach (string pg in p

4、age) listBox1.Items.Add(pg); txtOrder.Text = ; allocation alca = new allocation(); this.Hide(); DialogResult d = alca.ShowDialog(); if (d = DialogResult.OK) this.Show(); btnAlloc.Enabled = true; btnFifo.Enabled = true; btnlru.Enabled = true; alpage = alca.page; #endregion输入访问内存顺序,点击确定:#region 确定内存页分

5、配 private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Equals() MessageBox.Show(内存页面数不能为空!, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; page = Convert.ToInt32(textBox1.Text.Trim(); this.Close(); #endregion输入分配内存页面数,点击确定:点击FIFO置换:FIFO 算法:淘汰最先进入的页面,也就是淘汰进入内存中驻留时间最长的页

6、面,先进先出。FIFO 计算#region 第二步,计算 /第二步,计算 /查看是否命中 for (fangwenyemianshu = 0; fangwenyemianshu cunchufangwenyemian.Length; fangwenyemianshu+) /对于某一列进行处理 lie = fangwenyemianshu; if (lie = 0)/如果为第台一列 cunchujisuanguocheng0, lie = Convert.ToInt32(cunchufangwenyemianlie); cunchushifoumingzhong0 = 0;/没命中为a else

7、 /如果不为a第台一列 shifoumingzhong = 0;/假设没命中 for (hang = 0; hang alpage; hang+) if (cunchujisuanguochenghang, lie - 1 = Convert.ToInt32(cunchufangwenyemianlie) shifoumingzhong = hang + 1;/如果相同,则是否命中为命中位置 cunchushifoumingzhonglie = shifoumingzhong; if (lie != 0) if (shifoumingzhong != 0)/是否命中 /如?果命中,则不变 fo

8、r (hang = 0; hang 0; hang-) cunchujisuanguochenghang,lie= cunchujisuanguochenghang - 1, lie - 1; cunchujisuanguocheng0,lie= Convert.ToInt32(cunchufangwenyemianlie); #endregionLRU 算法:最近久未使用的置换算法的替换规则,根据内存调入页面后的使用情况,该算法赋予页面一个访问字段,用来记录一个页面自上次访问以来所经过的时间,当需要淘汰一个页面时选择现有页面其时间值最大的进行淘汰。Lru计算: for (int j = 0; j alpage; j+)/行列小于分配内存页面时,不需要淘汰页 for (int k = 0; k alpage; k+) for (fangwenyemianshu = 0; fangwenyemianshu ref_chars.Length; fangwenyemianshu+) lie = fangwenyemianshu; if (lie = 0)/如果为a第一列

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

当前位置:首页 > 学术论文 > 经济论文

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