课程设计报告。
课程名称:操作系统。
实验题目:2015 年 6 月 20 日。
1. 课程设计选题。
课题。五、编程序实现磁盘调度算法,并求出每种算法的平均寻道长度。
设计要求:设计主界面以灵活选择某算法,且以下算法都要实现。
1) 先来先服务算法(fcfs)
2) 最短寻道时间优先算法(sstf)
3) 扫描算法(scan)
4) 循环扫描算法(cscan)
2. 课程设计需求分析。
3. 概要设计。
4. 各模块的基本算法。
1)先来先服务调度算法
void fcfs(int array,int m)
int sum=0,j,i;
int **g;
printf(" fcfs调度结果: ")
for(i=0;i
for(i=0,j=1;j
2)最短寻道时间优先调度算法。
void sstf(int array,int m)
for( i=0;i
else if(array[0]>=now)//判断整个数组里的数是否都大于当前磁道号。 else
if(l=-1)
for(j=r;jelse
3)扫描算法
void scan(int array,int m)//先要给出当前磁道号和移动臂的移动方向
int temp;
int k=1;
int now,l,r,d;
int i,j,sum=0;
int **g;
for(i=0;i
for( i=0;i
printf(" 请输入当前的磁道号:")
scanf("%d",&now);
if(array[m-1]<=now)//判断整个数组里的数是否都小于当前磁道号
printf(" scan调度结果: "
for(i=m-1;i>=0;i--)
printf("%d ",array[i]);将数组磁道号从大到小输出
sum=now-array[0];/计算移动距离
else if(array[0]>=now)//判断整个数组里的数是否都大于当前磁道号
printf(" scan调度结果: "
for(i=0;i
sum=array[m-1]-now;//计算移动距离。
else
while(array[k]
for(j=r;j
sum=now-2*array[0]+array[m-1];/计算移动距离。
}//磁道号减小方向。else
for(j=r;j//磁道号增加方向。
**g=sum/m;
printf(" 移动的总道数: %d ",sum);
printf(" 平均寻道长度: %d ",**g);
4) 循环扫描算法
void cscan(int array,int m)
for( i=0;i
else if(array[0]>=now)//判断整个数组里的数是否都大于当前磁道号
printf(" cscan调度结果: "
for(i=0;i
sum=array[m-1]-now;//计算移动距离。
else
while(array[k]
l=k-1;
r=k; printf(" 请输入当前移动臂的移动的方向 (1 磁道号增加方向,0磁道号减小方向) :
scanf("%d",&d);
printf(" cscan调度结果: ")
if(d==0)
for(j=l;j>=0;j--)
for(j=m-1;j>=r;j--)
printf("%d ",array[j]);
sum=2*(array[m-1]-array[0])-array[r]+now;//计算移动距离
//磁道号减小方向 else
for(j=r;j 西安郵電大學。院系名称 计算机学院。专业名称 软件工程。班级 1104 学生姓名 赵大伟。学号 8位 04113124 指导教师 舒新峰。设计起止时间 2013.11.10 2013.11.20 1 通过观察 分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在posix 规范中... 课程设计。课程名称操作系统。题目名称多级文件系统 2 学生学院计算机学院 专业班级。学号。学生姓名。指导教师。年月日。目录。一 课程设计 6 二 开发工具及环境 6 三 设计内容 6 四 结构图 8 五 部分 9 六 运行截图 11 七 参考文献 15 八 心得体会 15 本课程设计要求设计一个模拟... 实验一进程管理。一 实验目的。1 开发一个函数,建立进程控制块和资源控制块结构,并实现相关数据结构的初始化。2 开发一系列操作,由进程调用这些操作,达到控制进程申请或释放各种资源的目的。通过实验理解进程的概念,进程的组成 pcb结构 进程的并发执行和操作系统进行进程管理的相关原语 主要是进程的创建 ...操作系统课程设计报告
操作系统课程设计报告
操作系统课程设计报告