欢迎来到天天文库
浏览记录
ID:57754211
大小:213.00 KB
页数:13页
时间:2020-09-02
《天津理工大学操作系统实验报告实验三.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告学院(系)名称:计算机与通信工程学院姓名学号专业计算机科学与技术班级2010级2班实验项目实验三:磁盘调度算法的实现课程名称操作系统课程代码实验时间2011年12月24日第3、4节2011年12月27日第7、8节2012年12月30日第7、8节实验地点软件实验室7-215批改意见成绩教师签字:实验内容:1.本实验是模拟操作系统的磁盘寻道方式,运用磁盘访问顺序的不同来设计磁盘的调度算法。2.实现的磁盘调度算法有FCFS,SSTF,SCAN,CSCAN和NStepSCAN算法。3.设定开始磁道号寻道范围
2、,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。4.选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。5.按算法的寻道效率进行排序,并对各算法的性能进行分析比较。实验要求:1.详细描述实验设计思想、程序结构及各模块设计思路;2.详细描述程序所用数据结构及算法;3.明确给出测试用例和实验结果;4.为增加程序可读性,在程序中进行适当注释说明;5.认真进行实验总结,包括:设计中遇到的问题、解决方法与收获等;6.实验报告撰写要求结构清晰、描述准确逻辑性强;7.实验过
3、程中,同学之间可以进行讨论互相提高,但绝对禁止抄袭。【实验过程记录(源程序、测试用例、测试结果及心得体会等)】源程序://磁盘调度基类DiskSchedule.java:importjava.util.ArrayList;importjava.util.Iterator;importjava.util.Random;publicabstractclassDiskSchedule{intstart,end;intstartSector;booleanisScheduled;ArrayList
4、sector;ArrayListscheduled;ArrayListtime;publicDiskSchedule(){start=0;end=255;startSector=0;sector=newArrayList();scheduled=newArrayList();time=newArrayList();isScheduled=false;}publicintgetStart(){returnstart;}p
5、ublicvoidsetStart(intstart){this.start=start;}publicintgetEnd(){returnend;}publicvoidsetEnd(intend){this.end=end;}publicintgetSector(){Randomrand=newRandom(47);isScheduled=false;returnstart+rand.nextInt(end);}publicdoublegetSeekTime(){if(!isScheduled)sched
6、ule();intsum=0;Iteratoriter=time.iterator();while(iter.hasNext())sum+=iter.next();return(double)sum/time.size();}publicvoidpushSector(intsec){sector.add(sec);}publicvoidsetStartSector(intsec){startSector=sec;}publicintgetStartSector(){returnstartS
7、ector;}publicIteratoriterator(){returnsector.iterator();}publicvoidvisitSector(inttimes){for(inti=0;i8、licvoiddebug(){System.out.println("平均调度时间:");System.out.println(getSeekTime());}publicvoidprintSector(){if(!isScheduled)schedule();inti=1;Iteratoriter=sector.iterator();System.out.println("原始访问序列:");
8、licvoiddebug(){System.out.println("平均调度时间:");System.out.println(getSeekTime());}publicvoidprintSector(){if(!isScheduled)schedule();inti=1;Iteratoriter=sector.iterator();System.out.println("原始访问序列:");
此文档下载收益归作者所有