| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

操作系统实验三磁盘调度算法的实现

文***享

贡献于2021-07-01

字数:4644


XX学

计算机通信工程学院


实验报告


2013 2014 学年 第 学期








课程名称
操作系统
学号

学生姓名

年级

专业

教学班号

实验点

实验时间
2013年 月 日 第 节 月 日 第 节
讲教师

辅导教师





实验( 三 )
实验名称
磁盘调度算法实现
软件环境


VC++60
硬件环境


PC机
实验目
操作系统计算机科学技术专业信息计算科学专业科教学计划中门重专业基础课程计算机系统硬﹑软件资源进行理系统软件计算机系统理指挥中心通课程实验学生综合运程序设计基础语言数结构计算机原理接口等先行课程知识操作系统课程知识种资源理调度策略设计操作系统资源理模拟程序学生加深解操作系统工作机理操作系统功结构设计更加深入实践开发系统软件应软件基础
实验容(应包括实验题目实验求实验务等)
实验容:
1实验模拟操作系统磁盘寻道方式运磁盘访问序设计磁盘调度算法
2实现磁盘调度算法FCFSSSTFSCANCSCAN NStepSCAN算法
3设定开始磁道号寻道范围起始扫描磁道号磁道号数机产生进行寻道磁道号序列
4选择磁盘调度算法显示该算法磁道访问序计算出移动磁道总数均寻道总数
5算法寻道效率进行排序算法性进行分析较
实验求:
学生应正确设计关数结构功模块画出程序流程图编写程序程序执行结果应正确
实验程实验结果(包括实验实施步骤算法描述流程结等)
VC++60编写代码
#include
#include
using namespace std
void FCFS(int a[]int n)
void SSTF(int a[]int n)
void SCAN(int a[]int n)
void CSCAN(int a[]int n)
int main()
{
int n磁道数
int s功号
cout<<请输入磁道数:< cin>>n
int *anew int[n]
cout<<生成机磁道号< srand((unsigned)time(NULL))
for(int i0i {
a[i](rand()100)+1
cout< cout< while(1) {
cout< cout<<1先先服务算法(FCFS)< cout<<2短寻道时间算法(SSTF)< cout<<3扫描算法(SCAN)< cout<<4循环扫描算法(CSCAN)< cout<<0退出< cout< cout<<请选择功号
cin>>s
if(s>4){
cout<<输入误< else{
switch(s){ case 0 exit(0)break
case 1FCFS(an) break
case 2SSTF(a n)break
case 3SCAN(a n)break
case 4CSCAN(an)break } }}
return 0 }
先先服务调度算法(FCFS)
void FCFS(int a[]int n){
int sum0jifirst0now
cout<<请输入前磁道号:
cin>>now确定前磁头位置
cout<<磁盘调度序:<for( i0i{
cout<计算sum
for(i0j1j first+abs(a[j]a[i])外围磁道里面磁道距离
}
sum+first+abs(nowa[0])
cout<cout<<移动总磁道数: <短寻道时间算法(SSTF)
void SSTF(int a[]int n){
int temp
int k1
int nowlr
int ijsum0
磁道号递增排序
for(i0ifor(ji+1j if(a[i]>a[j])
{
tempa[i]
a[i]a[j]
a[j]temp }}
cout<<递增序排磁道:<for( i0icout<}
cout<cout<<请输入前磁道号:
cin>>now确定前磁头位置
cout<<磁盘调度序:<if(a[n1]{
for(in1i>0i)
cout< sumnowa[0]}
else
if(a[0]>now)前磁头位置里欲访问磁道
{
for(i0i cout< suma[n1]now}
else{
while(a[k] {
k++
}
lk1磁头位置前欲访问磁道
rk磁头欲访问磁道
while((l>0)&&(r if((nowa[l])<(a[r]now))选择离磁头磁道
{
cout< sum+nowa[l]
nowa[l]
ll1 }
else{
cout< sum+a[r]now
nowa[r]
rr+1} }
if(l1)磁头位置里侧磁道已访问完
{
for(jrj {
cout< sum+a[n1]a[0]}
if(rn)磁头位置外侧磁道已访问完
{
for(jk1j>1j) 访问磁头位置里侧磁道
{
cout< sum+a[n1]a[0]} }
cout< cout<<移动总道数<}
扫描算法(SCAN)
void SCAN(int a[]int n)
{
int temp
int k1
int nowlr
int ijsum0
for(i0i for(ji+1j{
if(a[i]>a[j])
{
tempa[i]
a[i]a[j]
a[j]temp
}
}
cout<<递增序排磁道:<for( i0i{
cout<}
cout<cout<<请输入前磁道号:
cin>>now
算法确定磁道访问序
if(a[n1] {
for(in1i>0i)
cout< sumnowa[0]
}
else
if(a[0]>now) 磁头位置里欲访问磁道
{
for(i0i cout< suma[n1]now
}
else 磁头位置里侧磁道外侧磁道间
{ int d
while(a[k] { 确定前磁道已排序列中位置
k++
}
lk1磁头位置前欲访问磁道
rk 磁头欲访问磁道
cout<<请输入前磁头移动方 (0 表示 1表示外)
cin>>d 确定磁头访问方
cout<<磁盘调度序:
if(d0||d1)
{
if(d0) 磁头
{
for(jlj>0j)
{
cout< }
for(jrj {
cout< }
sumnow2*a[0]+a[n1]
}
if(d1) 磁头外
{
for(jrj {
cout< }
for(jlj>0j)
{
cout< }
sum2*a[n1]nowa[0]
}
}
else

cout<<请输入01< }
cout< cout<<移动总道数: <}
循环扫描算法(CSCAN)
void CSCAN(int a[]int n)
{
int temp
int nowlr
int ijsum0
int k1
for(i0i for(ji+1j {
if(a[i]>a[j])
{
tempa[i]
a[i]a[j]
a[j]temp
}
}
cout<<递增序排磁道:< for( i0i {
cout< }
cout<cout<<请输入前磁道号:
cin>>now确定前磁道号
if(a[n1]{
for(i0i cout< sumnow2*a[0]+a[n1]
}
else
if(a[0]>now)磁头位置里欲访问磁道
{
for(i0i cout< suma[n1]now
}
else 磁头位置里侧磁道外侧磁道间
{ int d
while(a[k] {
k++
}
lk1磁头位置前欲访问磁道
rk 磁头欲访问磁道
cout<<请输入前磁头移动方 (0 表示 1表示外)
cin>>d 确定磁头访问方
cout<<磁盘调度序:
if(d0||d1)
{
if(d1) 磁头外侧访问
{
for(jrj {
cout< }
for(j0j {
cout< }
sum2*a[n1]now2*a[0]+a[l]
}
if(d0) 磁头侧访问
{
for(jr1j>0j)
{
cout< }
for(jn1j>rj)
{
cout< }
sum2*a[n1]2*a[0]+nowa[r]
}
}
else
cout<<请输入01
}
cout< cout<<移动总道数: <}
实验结果:
1先先服务算法(FCFS)测试结果

2短寻道时间算法(SSTF)测试结果

3循环扫描算法(SCAN)测试结果

4循环扫描算法(CSCAN)测试结果


测试结果知相实验前提SSTF移动总道数少性优







附录(包括源程序清单说明)
天jing理工学


文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

操作系统课程设计磁盘调度算法

操作系统课程设计磁盘调度算法目 录1 课程设计目的及要求……………………………………………………12 相关知识…………………………………………………………………13 题目分析…………………………………………………………………24 概要设计…………………………………………………………………2 4.1 先来先服务(FCFS)的设计思想………

文***享 3年前 上传549   0

操作系统课程设计磁盘调度算法

《计算操作系统》课程设计报告 姓名: 班级:软件 学号: 指导老师:

文***品 3年前 上传462   0

操作系统实验(进程调度+存储管理+磁盘调度++银行家算法+文件系统设计)

操作系统实验(进程调度+存储管理+磁盘调度++银行家算法+文件系统设计)实验三 进程调度一、 实验目的多道程序设计中,经常是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理机。因而引起进程调度。本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。二、 实验要求1. 设计进程调度算法,进程数不定2. 包含几种调度算法,并加以实现3. 输出进程的调度

文***享 3年前 上传643   0

进程调度算法的实现计算机操作系统课程设计

题目2 进程调度算法的实现2.1 题目的主要研究内容及预期达到的目标(1)设计进程控制块; (2)设计多个进程队列; (3)设计多个进程(≥20); (4)动态生成时间片、执行时间和优先级,将这些信息输出至文件中; (5)设计基于时间片的多优先级调度算法; (6)动态调度,并把所有调度信息输出至文件中。(7)理解进程调度相关理论;(8)掌握时间片调度原理;(9)掌握高优先级

文***品 3年前 上传586   0

操作系统实验报告C语言实现银行家算法

实 验 报 告题 目名 称C语言实现银行家算法院 系信息科学与工程学院班 级完成时间指导老师本次实验成绩组长联系电话邮件地址组员(姓名,学号)主要任务程序算法的编写、实现、运行调试组员(姓名,学号)主要任务实验报告的完成组员(姓名,学号)主要任务实验报告的完成

文***品 3年前 上传471   0

操作系统课程设计银行家算法的模拟实现

操作系统课程设计报告专业计算机科学与技术学生姓名班级学号指导教师完成日期信息工程学院题目: 银行家算法的模拟实现 一、设计目的本课程设计是学习完“操作系统原理”课程后进行的一次全面的综合训练,通过课程设计,更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。

文***品 3年前 上传687   0

操作系统实验四主存空间的分配与回收首次适应算法和循环首次适应算法

实验报告【实验名称】 首次适应算法和循环首次适应算法 【实验目的】理解在连续分区动态的存储管理方式下,如何实现主存空间的分配与回收。【实验原理】首次适应(first fit,FF)算法FF算法要求空闲分区链以地址递增的次序链接。在分配内存时,从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区即可。然后再按照作业的大小,从该分区中划出一块内存空间,分配给请求者,

文***品 3年前 上传1048   0

计算机操作系统实验三页面置换算法模拟实验

计算机工程学院实验报告书课程名:《 操作系统原理A 》 题 目: 虚拟存储器管理 页面置换算法模拟实验 班 级: 学 号: 姓 名:

文***品 3年前 上传645   0

操作系统实验心得

操作系统实验心得  每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本要求。总结一下有以下体会。  1

薛***帅 12年前 上传983   0

实训7 操作系统安装和磁盘管理实训报告

实训7 操作系统安装和磁盘管理实训报告实训内容安装操作系统,利用操作系统自带工具进行磁盘分区、格式化。实训要求1. 熟悉操作系统安装方法2. 熟练利用操作系统自带工具进行磁盘分区和格式化3.了解操作系统安装过程中各项设置的含义实 训 数 据 记 录实训操作系统版本:一、安装操作系统1.设置BIOS,将CD-ROM设为第一启动设备。步骤简述:开机,按DEL进入BIOS,点击

H***t 4年前 上传1086   0

查找算法的程序实现「学生版」

查找算法的程序实现【学生版】【例1】 在数组元素a(1)到a(8)中查找键值为key的数,其顺序查找的VB程序段如下,请在划线处填写正确的语句。for i=1 to 8if ①        then   Text1.text=str(i)  exit forend ifnext iif ②        then text1.text=″在数组中没有找到″+str(key)

文***7 2年前 上传514   0

操作系统 七次实验报告 常用页面置换算法模拟实验

操作系统课程第七次实验报告姓名学号系计算机任课教师指导教师评阅教师实验地点 综合楼B102 实验时间2012-9-26实验课表现出勤和个人表现Q1(15+15(组长评分)=30分)得分:实验总分(Q1+Q2+Q3+Q4)实验完成情况Q2(45分(组长与教师评分的加权平均))得分:实验编号与实验名称:实验七、常用页面置换算法模拟

文***品 3年前 上传746   0

实验6FFT算法的应用

实验6 FFT算法的应用实验目的:加深对离散信号的DFT的理解及其FFT算法的运用。实验原理:N点序列的DFT和IDFT变换定义式如下: , 利用旋转因子具有周期性,可以得到快速算法(FFT)。 在MATLAB中,可以用函数X=fft(x,N)和x=ifft(X,N)计算N点序列的DFT正、反变换。例1 对连续的单一频率周期信号 按采样频率 采样,截取长度N分别选N =20和N

文***享 1年前 上传381   0

自己编写算法的功率谱密度的三种matlab实现方法

功率谱密度的三种matlab实现方法一:实验目的:(1)掌握三种算法的概念、应用及特点;(2)了解谱估计在信号分析中的作用;(3) 能够利用burg法对信号作谱估计,对信号的特点加以分析。二;实验内容:(1) 简单说明三种方法的原理。(2) 用三种方法编写程序,在matlab中实现。(3) 将计算结果表示成图形的形式,给出三种情况的功率谱图。(4) 比较三种方法的特性。(5

文***品 3年前 上传877   0

查找算法的程序实现「教师版」

查找算法的程序实现【教师版】【例1】 在数组元素a(1)到a(8)中查找键值为key的数,其顺序查找的VB程序段如下,请在划线处填写正确的语句。for i=1 to 8if ①        then   Text1.text=str(i)  exit forend ifnext iif ②        then text1.text=″在数组中没有找到″+str(key)

文***7 2年前 上传420   0

—基于机器学习的人脸识别算法的设计与实现

人脸识别技术是一种新型的生物特征认证技术。人脸识别技术也是一个非常活跃的研究领域,涵盖了许多领域,例如数字图像处理。随着人们对应用程序需求的增长,面部识别技术趋向于大量使用,使用微芯片和标准化。

平***苏 3年前 上传831   0

大数据处理算法研究与实现

因为要适应不同的人的上网要求,提供一些企业的一些网络地址,是网上比较重要的一部分、成套动力设备中起主要作用的机器、寄件系统、系统控制在内的完整的网络平台服务。我们有一个自己的平台,现如今数据发展越来越快速了,而且在很多领域也发生了根本的变化。近年来,中

王***朝 4年前 上传863   0

线索二叉树算法的设计与实现

随着时代的不断进步,计算机技术也随之得到发展。数据结构在计算机技术的发展中起到巨大的作用。数据结构为构建出高效的计算机算法打下了坚实的基础。良好的数据结构能够提高算法效率的同时也能减少对系统资源的占用[

王***朝 3年前 上传1004   0

操作系统课程设计银行家算法报告

《操作系统--银行家算法》课程设计报告姓 名: 学 号: 班 级:计科班 专 业:计算机科学与技术 指导教师: 时 间: 2009 XX大学 计

文***品 3年前 上传620   0

《操作系统 银行家算法》课程设计报告

《操作系统--银行家算法》课程设计报告姓 名: 学 号: 班 级: 计科班 专 业:计算机科学与技术 XX大学 计算机科学与信息学院目 录1 课程设计目的 ………………………………………

文***品 3年前 上传812   0

合工大页面置换算法操作系统课程设计报告

计算机与信息学院《操作系统综合设计》报告设计题目:页面置换算法学生姓名:学 号:专业班级:计算机科学与技术班2015 年 X月一、设计题目 3二、开发环境与工具 3三、设计原理 31.最佳(Optimal)置换算法 32.先进先出(FIFO)页面置换算法 43.最近最久未使

文***品 3年前 上传558   0

银行家算法《操作系统》课程设计报告

《操作系统》课程设计报告课题: 银行家算法 专业计算机科学与技术学生姓名班级计算机学号指导教师信息工程学院一、实验要求和实验目的实验目的:本课程设计是学生学习完《操作系统原理》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统

文***享 3年前 上传699   0

嵌入式操作系统实验指导

嵌入式操作系统实验指导书目 录实验一 Linux命令使用实验二 vi编辑器的使用实验三 shell编程实验(一)实验四 shell编程实验(二)实验五 Linux开发工具的使用实验六 Linux编程实验(一)实验七 Linux编程实验(二)实验八 Linux的系统及网络管理实验实验一 Linux命令使用班级:

文***享 1年前 上传369   0

操作系统实验心得(精选多篇)

操作系统实验心得(精选多篇)第一篇:操作系统实验心得每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本

x***r 12年前 上传581   0

操作系统进程管理实验报告

操作系统进程管理实验报告实验一 进程管理1.实验目的:(1)加深对进程概念的理解,明确进程和程序的区别;(2)进一步认识并发执行的实质;(3)分析进程争用资源的现象,学习解决进程互斥的方法;(4)了解Linux系统中进程通信的基本原理。2.实验预备内容(1)阅读Linux的sched.h源码文件,加深对进程管理概念的理解;(2)阅读Linux的fork()源码文件,分析进程的

文***享 1年前 上传365   0