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

FIFO页面调度算法处理缺页中断
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,直接覆盖

{

相关主题
相关文档
最新文档