操作系统实验模板1讲述.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验模板1讲述

课内实验报告 课 程 名: 操作系统 任课教师: 沈超 专 业: 信息管理与信息系统 学 号: 姓 名: 邵园 二○一五至二○一六 年度 第 一 学期 南京邮电大学 管理学院 《 操作系统 》课程实验第 一次实验报告 实验内容及基本要求: 一、实验目的与基本要求 1、理解磁盘调度算法的设计 2、理解提高磁盘访问速度的原理 二、实验仪器与设备 硬件:微型计算机。中央处理器PentiumIV以上;显示器256色VGA以上;内存使用128兆;硬盘300M以上。 软件:学生可以采用任何一种自己熟悉的编程语言完成算法的程序设计,如C/C++、Delphi、VB、VC、C#等。 三、实验内容: 模拟实现磁盘调度算法:最短寻道时间优先(SSTF)和扫描(SCAN)算法。 实验结果: 实验代码: #includeiostream? #includeiomanip? #includemath.h? using?namespace?std;? const?int?MaxNumber=100;? int?TrackOrder[MaxNumber];? int?MoveDistance[MaxNumber];//移动距离 int?FindOrder[MaxNumber];//寻好序列 double?AverageDistance;//平均寻道长度 bool?direction;//方向true时为向外,false为向里 int?BeginNum;//开始磁道号 int?M=500;//磁道数 int?N;//提出磁盘I/O申请的进程数 int?SortOrder[MaxNumber];//排序后的序列 bool?Finished[MaxNumber];? void?Inith()? {? ?cout请输入提出磁盘I/O申请的进程数:?;? ?cinN;? ?cout请依次输入要访问的磁道号:;? ?for(int?i=0;iN;i++)? ?cinTrackOrder[i];? for(int?j=0;jN;j++)? ?MoveDistance[j]=0;? cout请输入开始磁道号:;? cinBeginNum;? for(int?k=0;kN;k++)? ?Finished[k]=false; for(int?l=0;lN;l++)? SortOrder[l]=TrackOrder[l];? } void?Sort()? {? int?temp;? for(int?i=N-1;i=0;i--)? for(int?j=0;ji;j++)? ?{? ?if(SortOrder[j]SortOrder[j+1])? ?{? temp=SortOrder[j];? SortOrder[j]=SortOrder[j+1];? SortOrder[j+1]=temp;? }? }? } //SSTF,最短寻道法 void?SSTF()? {? int?temp,n;? int?A=M;? temp=BeginNum;?? for(int?i=0;iN;i++)? {? for(int?j=0;jN;j++)? { if(abs(TrackOrder[j]-temp)AFinished[j]==false)? {? A=abs(TrackOrder[j]-temp);? n=j;? }? else?continue;? }? Finished[n]=true;? MoveDistance[i]=A;? temp=TrackOrder[n];? A=M;? FindOrder[i]=TrackOrder[n];? }? } //SCAN,扫描算法 void?SCAN()? {? int?m,n,temp;? temp=BeginNum;? Sort();? cout请选择开始方向:1--向外;0---向里:?;? cinm;? if(m==1)? direction=true;? else?if(m==0)? direction=false;? else?cout输入错误!;? for(int?i=0;iN;i++)? {? if(SortOrder[i]BeginNum)? continue;? else? {? n=i;? break;? }? }? if(direction==true)? {? for(int?i=n;iN;i++)? { MoveDistance[i-n]=abs(SortOrder[i]-temp);? t

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档