• 大小: 56KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-01
  • 语言: 其他
  • 标签: 模拟实现  

资源简介

8 题目二 磁盘调度算法的模拟实现及对比 一、课程设计目的 通过磁盘调度算法的模拟设计,了解磁盘调度的特点。 二、课程设计内容 模拟实现FCFS、SSTF、电梯LOOK、C-SCAN 算法,并计算及比较磁头移动道数。 三、要求及提示 本题目必须单人完成。 1、首先假设磁盘磁道数为1500,磁头初始位置可任意设置。 2、用随机数生成函数产生“磁道号”序列(即磁盘请求的位置),共产生400 个。其中 50%位于0~499,25%分布在500~999,25%分布在1000~1499。具体的产生方法可参考 “题目一 页面置换算法的模拟实现及命中率对比”。 3、计算及比较每种磁盘调度算法下的磁头移动道数。 注:本题目要求给出图形可视化界面,并且能够动态模拟每个算法的调度过程,可采用 从上一个请求到下一个请求进行连线的方式。

资源截图

代码片段和文件信息

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 WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender EventArgs e)
        {
            int i = 0 k = 0;
            int n1 = 0;
            int n2 = 0;
            int n3 = 0;
            while (i < 400)
            {
                k = ran.Next(1501);
                if (k >= 0 && k <= 499)
                {
                    if (n1 <= 200)
                    {
                        n1++;
                        a[i] = k;
                        i++;
                    }
                }
                if (k >= 500 && k <= 999)
                {
                    if (n2 <= 100)
                    {
                        n2++;
                        a[i] = k;
                        i++;
                    }
                }
                if (k >= 1000 && k <= 1499)
                {
                    if (n3 <= 100)
                    {
                        n3++;
                        a[i] = k;
                        i++;
                    }
                }
            }
            for (int g = 0; g < 400; g++)
                a1[g] = a[g];
            Array.Sort(a);
        }

        int[] a = new int[400];//程序中的唯一一组随机数,用于模拟磁盘道数,已排序
        int[] a1 = new int[400];//a数组未排序之前的拷贝,用于FIFO算法
        int[] b = new int[401];//用于SSTF算法,按最短时间排序
        Random ran = new Random();
        int s1 = 0 s2 = 0 s3 = 0 s4 = 0;
        int c1 = 0;
        int c2 = 0;
        int c3 = 0;
        int c4 = 0;
        int j = 0;
        int s = 0 ss = 0;
        int u = 0 uu = 0;

        private void FCFS_Click(object sender EventArgs e)
        {
            int k y z;
            for (int i = 0; i < 500; i++)
            {
                y = ran.Next(400);
                z = ran.Next(400);
                k = a1[y];
                a1[y] = a1[z];
                a1[z] = k;
            }
            this.chart1.Series[0].Points.AddXY(0 580);
            c1++;
            timer1.Start();
            FCFS.Enabled = false;
        }

        private void SSTF_Click(object sender EventArgs e)
        {
            int left = 0 right = 0;
            b[0] = 580;
            this.chart1.Series[1].Points.AddXY(0 580);
            c2++;
            while (true)
            {
                if (a[j] > 580)
                    break;
                else
                    j++;
            }
            for (int i = 0; i < 400; i++)
            {
                if (j - 1 - left >= 0 && j + right <= 399)
                {
                    if (((b[i] - a[j - 1 - left]) - (a[j + right]

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16896  2014-12-19 11:49  磁盘调度算法\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe

     文件      32256  2014-12-19 11:49  磁盘调度算法\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb

     文件      11600  2014-12-19 12:51  磁盘调度算法\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.vshost.exe

     文件        490  2012-06-06 02:06  磁盘调度算法\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.vshost.exe.manifest

     文件       8903  2014-12-19 11:49  磁盘调度算法\WindowsFormsApplication1\Form1.cs

     文件      13860  2014-12-19 11:49  磁盘调度算法\WindowsFormsApplication1\Form1.Designer.cs

     文件       6994  2014-12-19 01:28  磁盘调度算法\WindowsFormsApplication1\Form1.resx

     文件       6272  2014-12-19 10:00  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6579  2014-12-19 11:49  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       2232  2014-12-19 12:51  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\WindowsFormsApplication1.csproj.FileListAbsolute.txt

     文件        975  2014-12-19 01:28  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\WindowsFormsApplication1.csproj.GenerateResource.Cache

     文件      10016  2014-12-19 10:12  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\WindowsFormsApplication1.csprojResolveAssemblyReference.cache

     文件      16896  2014-12-19 11:49  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\WindowsFormsApplication1.exe

     文件        180  2014-12-19 01:28  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\WindowsFormsApplication1.Form1.resources

     文件      32256  2014-12-19 11:49  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\WindowsFormsApplication1.pdb

     文件        180  2014-12-18 18:13  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\WindowsFormsApplication1.Properties.Resources.resources

     文件        505  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1\Program.cs

     文件       1398  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1\Properties\AssemblyInfo.cs

     文件       2900  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1\Properties\Resources.Designer.cs

     文件       5612  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1\Properties\Resources.resx

     文件       1111  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1\Properties\Settings.Designer.cs

     文件        249  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1\Properties\Settings.settings

     文件       3775  2014-12-18 18:13  磁盘调度算法\WindowsFormsApplication1\WindowsFormsApplication1.csproj

     文件        914  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1.sln

    ..A..H.     20480  2014-12-19 12:52  磁盘调度算法\WindowsFormsApplication1.suo

     目录          0  2014-12-18 18:09  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug\TempPE

     目录          0  2014-12-19 12:56  磁盘调度算法\WindowsFormsApplication1\obj\x86\Debug

     目录          0  2014-12-19 12:56  磁盘调度算法\WindowsFormsApplication1\bin\Debug

     目录          0  2014-12-19 12:56  磁盘调度算法\WindowsFormsApplication1\obj\x86

     目录          0  2014-12-19 12:56  磁盘调度算法\WindowsFormsApplication1\bin

............此处省略7个文件信息

评论

共有 条评论