FIFO页面调度算法处理缺页中断
井合肥禽院
HEFEI UNIVERSITY
计算机科学与技术系
实验报告
专业名称 ________ 网络工程 ____________
课程名称操作系统原理___________
项目名称FIFO页面调度算法处理缺页中断
班级12 网络工程(1)班
学号1204031030 ______________________
姓名 ____________ 方彬__________________
同组人员朱佳宝、王卫、凌含涛、胡星瑞
实验日期2014.12.02 ___________________
、实验目的与要求:
(1)熟悉、掌握先进先出FIFO算法,并实现用先进先出FIFO算法页面调度算法处理缺页
中断.
(2)理解基于先进先出FIFO的内存管理调度算法,更好的掌握算法的思想,
结合实验理解算法更直观,深刻具体。通过对先进先出FIFO的调度算法
的模拟实验可以清楚的了解内存管理是如何调度的,以及加深对内存管理的了解。
二、实验内容
1)任务分析:以无歧义的陈述说明实验任务,并明确规定:(a) 输入的形式和输入值的范围;在输入文本框中输入,输入值的范围在0~6之间
(b) 输出的形式;
输出为缺页序列的表格
(c)程序所能达到的功能;输入页号,输出缺页序列,实现先进先出算法的模拟
(d)测试数据:包括正确的输入及其输出结果和错误的输入及其输出结果
①输入值为空:
②输入值越界:
FIFO^面调度算法处理缺页中斷
旋号
D
1
2
3
4
5
斥志修改标志
□
1Z34E T3
3
贡号序列
2
1
号不音法-麻賊AJ
m 号
1 P 1 r KU n
制作人^方彬1304031030③正确的输入值:
2)概要设计:说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。
本程序中定义了一个数组in t[] main store = {3,2,1,0 };用于模拟主存存放页;此外还定义了一个数组int[] flag = {0,0,0,0,0,0,0 };用于表明页号的修改标志位,便于之后的操作。
该程序的只要流程如下:
3)详细设计:实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序);
画出函数和过程的调用关系图。
using System;
using System.Collect ion s.Ge neric;
using https://www.360docs.net/doc/b013489510.html,p onen tModel;
using System.Data;
using System.Draw ing;
using System.Linq;
using System.Text;
using System.Thread in g.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,直接覆盖
{