1 / 9
文档名称:

操作系统磁盘调度算法实验报告.doc

格式:doc   大小:198KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统磁盘调度算法实验报告.doc

上传人:小博士 2019/8/5 文件大小:198 KB

下载得到文件列表

操作系统磁盘调度算法实验报告.doc

文档介绍

文档介绍:《操作系统》课程实验报告专业: 班级: 学号: 姓名: 日期:2015年6月2日—、实验题目设备管理二、 实验内容模拟电梯调度算法,实现对磁盘的驱动调度三、 基本要求掌握电梯调度算法。编程实现电梯调度算法。实现磁盘的驱动调度。四、 实验步骤1、利用先来先服务算法计算其处理时间、平均处理时间。源代码#include<>#include<>intSUM=O,K二0;typedefstructlink{inttime;intaverageTime;intpriority;structlink*next;}linknode;linknode*creat(){intn,m;linknode*head,*「*s;head=r=(linknode*)malloc(sizeof(linknode));primfC输入各进程的处理时间和优先级并以两个0为结束标志:\n”);while(scanf("%d%d”,&n,&m)&&n&&m){s=(linknode*)malloc(sizeof(linknode));K++;s->time=n;s->priority=m;s->averageTime=O;r->next=s;r=s;r->next=NULL;returnhead;}linknode*seekAverageTime(linknode*head){intsum=0;linknode*p;p=head・>next;while(p){sum=sum+p->time;p->averageTime=sum;p=p->next;SUM+二sum;}return0;}voidprint(linknode*head){linknode*p;p=head->next;printf(咯进程处理时间为:n);while(p){printf(n%-4dH,p->averageTime);p=p->next;}printf(,,\nn);}main(){linknode*head;head=creat();seekAverageTime(head);print(head);piintfC平均处理时间为:%d\n\(SUM/K));return0;}2、最短寻道时间优先算法后的磁盘调度序列源代码#include<>voidmain(){intm=0,n,Seek[100],Flagfl00],SCurrent,t,i=O,j,k,iO,jO;printfC*请输入当前的磁道号:”);scanf(u%d'\&SCurrent);printf("\n请输入磁道请求序列(以・9结束):\n”);scanf(”%d",&n);while(n!=-9){Seek[i]=n;m++;i++;scanfC%d”,&n);}/*初始化置对应的磁道访问位为零*/for(i=0;i<m;i++)Flag[i]=0;/*冒泡排序使磁道请求序列从小到大排序*/for(j=0;j<m-l;j++){for(i=0;i<m-l-j;i++)if(Seek[i]>Seek[i+l]){t=Seek[i];Seek[i]=Seek[i+1];Seek|i+1]=t;printf('*\n 最短寻道时间优先(SSTF)算法后的磁盘调度序列 \『);/*找到当前磁道号在磁道请求