FIFO页面调度算法处理缺页中断..docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学与技术系 实验报告 专业名称 网络工程 课程名称 操作系统原理 项目名称 FIFO 页面调度算法处理缺页中断 班 级 12 网络工程( 1)班 学 号 1204031030 姓 名 方 彬 同组人员 朱佳宝、王卫、凌含涛、胡星瑞 实验日期 2014.12.02 一、实验目的与要求: 1) 熟悉、掌握先进先出 FIFO 算法,并实现用先进先出 FIFO算法页面调度算法处理缺页中断 . 2) 理解基于先进先出 FIFO 的内存管理调度算法,更好的掌握算法的思想, 结合实验理解算法更直观,深刻具体。通过对先进先出 FIFO 的调度算法的模拟实验可以清楚的了解内存管理是如何调度的, 以及加深对内存管理的了解。 二、实验内容 1) 任务分析:以无歧义的陈述说明实验任务,并明确规定: 输入的形式和输入值的范围; 在输入文本框中输入,输入值的范围在 0~6 之间 输出的形式; 输出为缺页序列的表格 程序所能达到的功能; 输入页号,输出缺页序列,实现先进先出算法的模拟 测试数据:包括正确的输入及其输出结果和错误的输入及其输出结果。 ①输入值为空: ②输入值越界: ③正确的输入值: 2) 概要设计:说明本程序中用到的所有抽象数据类型的定义、主程序的流程 以及各程序模块之间的层次 (调用 )关系。 本程序中定义了一个数组 int[] mainstore = {3,2,1,0 }; 用于模拟主存存放 页;此外还定义了一个数组 int[] flag = {0,0,0,0,0,0,0 }; 用于表明页号的修改标志 位,便于之后的操作。 该程序的只要流程如下: 开始 读入访问页面 检查内存是否有 空闲块  有 存入页面 无 选择最先进入 的页面置换 未读完 输出置换出的页面序号 已读完 结 3) 详细设计:实现概要设计中定义的所有数据类型,对每个操作只需要写出 伪码算法;对主程序和其他模块也都需要写出伪码算法 (伪码算法达到的详 细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语 言程序 );画出函数和过程的调用关系图。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using lru; using change; namespace 操作系统 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // 定义一个窗口类,在类里面定义一个窗口 int[] mainstore = {3,2,1,0 };// int[] flag = {0,0,0,0,0,0,0 };//  定义数组用于存放页 定义修改标志位的数组 int blo = 0;// 用来控制在表格的哪一列输出页号序列 private void button1_Click(object sender, EventArgs e)// 定义一个事件响应, 即对输入 进行操作 { if (string.IsNullOrEmpty(txt.Text)) MessageBox.Show( 请输入页号! ); else if (int.Parse(txt.Text) 6 || int.Parse(txt.Text) 0) MessageBox.Show( 输入页号不合法,请重新输入! ); //判断输入是否合法 else { int page = int.Parse(txt.Text); int i=0; if (page !=  mainstore[0]   page != mainstore[1]   page != mainstore[2] page != mainstore[3])  //插入页内存中不存在,进行  FIFO  算法 { int lll; lll = mainstore[0]; if (flag[mainstore[0]] == 0)// 修改标志位为 0,直接覆盖 { mainstore[0] = page; flag[lll] = 1; } Else// 修改标志位为 1,数组执行 FIFO { for (i = 0; i 3; i++) mainstore[i] = mainstore[i + 1]; mainstore[3] = p

您可能关注的文档

文档评论(0)

137****7230 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档