【操作系统系统/Golang】实验5:磁盘调度(FCFS,SSTF,SCAN与循环SCAN)

该文描述了一个程序设计实验,目的是模拟和比较四种磁盘调度算法:先来先服务(FCFS)、最短寻道时间优先(SSTF)以及两种扫描算法(SCAN和C-SCAN)。实验中,给定磁道数量、访问序列、起始磁道和移动方向,计算并输出每次访问的磁头移动距离及平均寻道长度。测试数据包括一个9个磁道的序列,以及不同算法在不同方向上的表现。实验代码可在GitHub找到。
摘要由CSDN通过智能技术生成

1 实验问题描述

设计程序模拟先来先服务FCFS,最短寻道时间优先SSTF,SCAN和循环SCAN算法(对应其他参考书的LOOK和C-LOOK)的工作过程。假设有trackNum个磁道号所组成的磁道访问序列,给定开始磁道号initTrackNum和磁头移动的方向direction(正向或者反向),分别利用不同的磁盘调度算法访问磁道序列,给出每一次访问的磁头移动距离,计算每种算法的平均寻道长度。最后,对四种算法做出比较评价。

程序要求如下:

  1. 利用先来先服务FCFS,最短寻道时间优先SSTF,SCAN和循环SCAN算法模拟磁道访问过程。

  1. 模拟四种算法的磁道访问过程,给出每个磁道访问的磁头移动距离。

  1. 输入:磁道个数n和磁道访问序列,开始磁道号initTrackNum和磁头移动方向direction(对SCAN和C-SCAN算法有效)。
    其中,输入与算法的对应关系如下表:

输入

对应算法

1

FCFS

2

SSTF

3

SCAN

4

C-SCAN

  1. 输出:四种算法的每次磁头移动寻道长度和平均寻道长度。
    输出示例如下:

2 测试数据

trackNum=9, initTrackNum=143;

trackOrder = [86 1470 913 1774 948 1509 1022 1750 130]

3 流程图

4 实验结果

  1. FCFS

  1. SSTF

  1. SCAN(一些教材书上是LOOK)

  1. direction=0,即从外到内;

  1. direction=1,即从内到外;

  1. C-SCAN(一些教材书上是C-SCAN)

  1. direction=0,即从外到内;

  1. direction=1,即从内到外;

5 实验代码

请见GitHub。

OS-Experiments/exp5 at main · Jackkee27/OS-Experiments

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值