资源简介
利用编程模拟实现磁盘调度算法
设计目的:
熟悉各种磁盘调度算法的原理。
设计要求:
用高级语言编写和调试多个实现不同磁盘调度的程序。
设计内容:
该题目实现对磁盘调度算法的模拟,分为4个子题目:
1)先来先服务算法;
2)最短寻道时间优先算法;
3)扫描算法;
4)循环扫描算法;
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Os
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int i1 i2 i3 i4;
int[] array;
private void button1_Click(object sender EventArgs e) //产生随机序列号
{
String str1 = textBox1.Text;
String str2 = textBox2.Text;
String str3 = textBox3.Text;
String str4 = textBox4.Text;
String str5=““;
if(int.TryParse(str1out i1)==false) //转换数据类型并判断数据是否合法
{
MessageBox.Show(“最大磁道数不合法“);
return;
}
if (int.TryParse(str2 out i2) == false) //转换数据类型并判断数据是否合法
{
MessageBox.Show(“当前磁道数不合法“);
return;
}
if (i2 > i1) //判断数据是否合法
{
MessageBox.Show(“当前磁道数不能大于最大磁道数“);
return;
}
if (int.TryParse(str3 out i3) == false) //转换数据类型并判断数据是否合法
{
MessageBox.Show(“磁道方向不合法“);
return;
}
if (i3 != 0 && i3 != 1) //判断数据是否合法
{
MessageBox.Show(“磁道方向不合法“);
return;
}
if (int.TryParse(str4 out i4) == false) //转换数据类型并判断数据是否合法
{
MessageBox.Show(“进程数不合法“);
return;
}
Random random = new Random();
array = new int[i4];
for (int i = 0; i < array.Length; i++) //产生不重复的随机序列并将其赋值给数组
{
int x = Convert.ToInt32(random.Next(1 i1)); //产生随机数并复制给x
for (int j = 0; j < i; j++) //消除重复
{
if (x == array[j])
{
x = Convert.ToInt32(random.Next(1i1));
j = 0;
}
}
array[i] = x;
}
for (int i = 0; i < array.Length; i++) //将数组里的数转换类型并赋给str5
{
str5 += Convert.ToString(array[i])+“ “;
}
textBox5.Text = str5; //在textbox5里显示str5
}
private void button2_Click(object sender EventArgs e) //先来先服务
{
String str1 = ““;
String remove = ““;
for (int i = 0; i < array.Length; i++)
{
str1 += Convert.ToString(array[i]) + “ “;
}
textBox6.Text = str1;
int[] array1 = new int[i4];
remove += Convert.ToString(Math.Abs(i2 - array[0])) + “ “; /
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1060352 2013-07-05 11:59 实验报告.doc
目录 0 2013-07-02 14:26 Os\
目录 0 2013-07-02 14:26 Os\Os\
文件 848 2013-07-02 14:26 Os\Os.sln
文件 19968 2013-07-05 12:05 Os\Os.suo
目录 0 2013-07-02 14:26 Os\Os\bin\
目录 0 2013-07-02 15:11 Os\Os\bin\Debug\
文件 17408 2013-07-05 08:46 Os\Os\bin\Debug\Os.exe
文件 34304 2013-07-05 08:46 Os\Os\bin\Debug\Os.pdb
文件 11600 2013-07-05 10:35 Os\Os\bin\Debug\Os.vshost.exe
文件 490 2010-03-17 22:39 Os\Os\bin\Debug\Os.vshost.exe.manifest
文件 17843 2013-07-04 13:15 Os\Os\Form1.cs
文件 14956 2013-07-03 17:36 Os\Os\Form1.Designer.cs
文件 5817 2013-07-03 17:36 Os\Os\Form1.resx
目录 0 2013-07-02 14:26 Os\Os\obj\
目录 0 2013-07-02 14:26 Os\Os\obj\x86\
目录 0 2013-07-05 08:46 Os\Os\obj\x86\Debug\
文件 4501 2013-07-03 01:15 Os\Os\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6287 2013-07-05 08:46 Os\Os\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 232 2013-07-03 17:36 Os\Os\obj\x86\Debug\GenerateResource.read.1.tlog
文件 542 2013-07-03 17:36 Os\Os\obj\x86\Debug\GenerateResource.write.1.tlog
文件 631 2013-07-05 10:35 Os\Os\obj\x86\Debug\Os.csproj.FileListAbsolute.txt
文件 17408 2013-07-05 08:46 Os\Os\obj\x86\Debug\Os.exe
文件 180 2013-07-03 17:36 Os\Os\obj\x86\Debug\Os.Form1.resources
文件 34304 2013-07-05 08:46 Os\Os\obj\x86\Debug\Os.pdb
文件 180 2013-07-02 15:08 Os\Os\obj\x86\Debug\Os.Properties.Resources.resources
文件 8031 2013-07-03 01:15 Os\Os\obj\x86\Debug\ResolveAssemblyReference.cache
目录 0 2013-07-02 14:26 Os\Os\obj\x86\Debug\TempPE\
文件 3663 2013-07-02 15:08 Os\Os\Os.csproj
文件 483 2013-07-02 14:26 Os\Os\Program.cs
目录 0 2013-07-02 14:26 Os\Os\Properties\
............此处省略5个文件信息
评论
共有 条评论