




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨理工大学课程设计(计算机操作系统)题目CSCAN磁盘调度算法班级姓名指导教师系主任2014年03月01日目录1CSCAN磁盘调度算法问题课程设计111题目分析112数据结构113流程图114实现技术215设计结论和心得22LINUX代码分析421功能说明422接口说明423局部数据结构424流程图425以实例说明运行过程51CSCAN磁盘调度算法问题课程设计11分析题目将QUEUEN进行由小到大的排序,首先定位当前调度磁HEADSTARTS在QUEUEN的位置,然后在此位置按给定的方向遍历QUEUEN,当道端点(QUEUE0或QUEUEN1)时,反向到另一端点再以此方向进行遍历,直到QUEUEN中所有都调度完。当调度磁道不在QUEUE端点时,总的寻道长度为为前一个磁道与后一个磁道差值的累加,当到达端点且QUEUEN未全调度时,总寻道长度加上端点值再加上磁盘磁道总长度,再加上下一个调度磁道的值,再按前面的算法进行,直到磁道全部都调度完毕,得到总的寻道长度,除以N得到平均寻道长度。12数据结构HAND当前磁道号DISCLINE10随机生成的磁道号VOIDSETDIINTDISCL生成随机磁道号算法VOIDCOPYLINTSOUR,INTDIST,INTX数组SOUR复制到数组DIST复制到X个数四详细设计VOIDDELINQINTSOUR,INTX,INTY数组SOUR把X位置的数删除,X后的数组元素向前挪一位VOIDPAIXU寻道长度由低到高排序VOIDCSCANINTHAN,INTDISCL循环扫描算法CSCAN13流程图14实现技术为实现上述设计,采用C语言,VS2008开发环境。具体采用的技术如下循环扫描算法实现步骤如下输入总磁道数(你可以输入200),点确定,进入第二个界面,再输入磁盘调度序列个数(你可以输入5),然后点确定。依次输入5个值,再输入正在调入的磁道,选择磁盘调度算法12中的任意一个,若选择1后确认,选择磁道走向12若选择1,点确定,先输出排序后的磁盘序列(132089113189),再输出调度序列为(89201318911389)并且求出了总寻道长度为352,平均寻道长度为704。运行结果如下15设计结论和心得通过课程设计得到如下结论本次实验首先要了解磁盘调度方法的工作原理。在课程设计前的准备工作时,先把这部分工作做完了。在设计总的程序框架的时候,要注意各功能模块的位置,尽量做到简洁、有序;各功能模块与主程序要正确衔接。有如下几点心得体会至此,计算机操作系统课程设计算法已经完成。此次设计基本完成了所规定的功能,但由于这次设计的时间比较仓促,其中不免会有些纰漏,比如在程序的实现上还不够严谨,出错处理不够完善等多方面问题,这些都有进一步改善。由于平时上课不是很认真许多概念没有理解清楚,导致在做设计时有点无从下手的感觉,只好边实验边看书直到弄懂概念后才开始做设计导致时间有点紧张,最终在同学和老师的指导下我完成了设计,此设计基本能够实现规定的要求但是还是不够完善,很多东西做的不够好,程序不够完善和严谨。此次课程设计中我学到了很多东西,无论在理论上还是实践中,都得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助。INCLUDEINCLUDEINCLUDEUSINGNAMESPACESTDVOIDMENUCOUTQUEUEIIIFIN1RETURNN1/当前磁道号大于磁盘请求序列中的所有磁道IFI0RETURN1/当前磁道号小于磁盘请求序列中的所有磁道ELSERETURNI1/返回小于当前磁道号中最大的一个/使用冒泡算法从小到大排序/INTBUBBLEINTQUEUE,INTMINTI,JINTTEMPFORI0IQUEUEJTEMPQUEUEIQUEUEIQUEUEJQUEUEJTEMPCOUTDIRECTIONINTCOUNT0/COUNT表示磁道移动的长度BUBBLEQUEUE,NFIXIFIXQUEUE,N,HEADSTARTSCOUT1ICOUT1ICOUT1ICOUTFIXIICOUTDISKRODECOUTNINTQUEUEQUEUEINTMALLOCNSIZEOFINT/给QUEUE数组分配空间INTQUEUE_COPYQUEUE_COPYINTMALLOCNSIZEOFINTCOUTQUEUEIFORI0IHEADSTARTSINTMENUXMENUCOUTMENUXWHILEMENUX0IFMENUX1CSCANQUEUE,N,DISKRODE,HEADSTARTSIFMENUX2COUTMENUXCOUTPAGE_SHIFT)OUTRETURNRET21功能说明这一段程序的主要功能为(1)进程对内存区域的分配最终多会归结到DO_MMAP()函数上来,同样释放一个内存区域使用函数DO_UMMAP(),它会销毁对应的内存区域。(这里DO_UMMAP暂不做说明)(2)LINUX使用内核函数DO_MMAP()完成可执行映像等向虚拟区域的映射,由它建立有关的虚存区域,并指定虚存区域的开始地址、虚存大小以及属性等。22接口说明本程序的输入参数为FILE表示要映射的文件。OFFSET文件内的偏移量,因为我们并不是下子全部映射一个文件,可能只是映射文件的一部分,OFFSET就表示那部分的起始位置。LEN要映射的文件部分的长度。ADDR虚拟空间的一个地址,表示从这个地址开始查找一个空闲的虚拟区。PROT指定对这个虚拟区的存取权限。输出结果为该段程序返回的应为LONG类型的数据,为经过DO_MMAP映射处理后的虚存区域的起始地址。否则则返回MAP_FAILED1。23局部数据结构本程序共有4个局部变量及数据结构,其类型定义及语义如下STRUCTMM_STRUCT/MM_STRUCT结构包含了用户进程与存储有关的信息STRUCTVM_AREA_STRUCTMMAP/指向虚拟内存段双向链表指针/STRUCTVM_AREA_STRUCTMMAP_AVL/指向虚拟内存段AVL树指针/PGD_TPGD/进程页目录起始地址/INTMAP_COUNT/此进程所用虚拟内存的块数/UNSIGNEDLONGSTART_CODE,END_CODE/进程代码段起始地址和结束地址/UNSIGNEDLONGSTART_DATA,END_DATA/进程数据段起始地址和结束地址/UNSIGNEDLONGSTART_STACK/进程堆栈段起始地址/UNSIGNEDLONGRSS/进程驻留在物理内存的页面总数/STRUCTVM_STRUCT/为虚拟内存结构体UNSIGNEDLONGFLAGSVOIDADDR/虚拟内存块的其始地址/UNSIGNEDLONGSIZE/虚拟内存块的长度/STRUCTVM_STRUCTNEXT/下一个虚拟内存块/STRUCTVM_AREA_STRUCT/虚拟内存块存储结构体STRUCTMM_STRUCTVM_MM/指向该虚存段所属进程的MM_STRUCT/UNSIGNEDLONGVM_START/虚拟内存开始地址/UNSIGNEDLONGVM_END/虚拟内存结束地址/STRUCTVM_AREA_STRUCTVM_NEXTUNSIGNEDSHORTVM_FLAGS/本VMA块的属性标志位/SHORTVM_AVL_HEIGHTSTRUCTVM_AREA_STRUCTVM_AVL_LEFTSTRUCTVM_AREA_STRUCTVM_AVL_RIGHT/上述三项用于对AVL树操作/STRUCTVM_OPERATIONS_STRUCTVM_OPS/指向对VMA块操作的结构体指针/UNSIGNEDLONGVM_OFFSETSTRUCTFILEVM_FILE/指向文件的INODE结构体或NULL/UNSIGNEDLONGVM_PTETYPEDEFSTRUCTPAGE/页存储结构STRUCTLIST_HEADLIST/该页根据不同用途挂到不同链表中/STRUCTPAGENEXT,PREV/前一个和下一个页/UNSIGNEDLONGINDEX/页存放代码或数据所属文件的位移/STRU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NB/T 11316-2023变电站电能质量现场测试技术规范
- JJF(烟草)4.2-2010烟草及烟草制品连续流动法测定常规化学成分测量不确定度评定指南第2部分:总植物碱
- 2001年上海市中考数学试题【含答案、解析】
- 考研复习-风景园林基础考研试题【轻巧夺冠】附答案详解
- 风景园林基础考研资料试题及答案详解(全优)
- 《风景园林招投标与概预算》试题A附参考答案详解【夺分金卷】
- 2025年济南四建集团有限责任公司招聘笔试备考题库及答案详解(网校专用)
- Rhino+KeyShot产品设计 教案全套 第1-10章 认识 Rhino - 渲染综合案例
- 2025年黑龙江省五常市辅警招聘考试试题题库及1套参考答案详解
- 2025年河北省定州市辅警招聘考试试题题库及答案详解(有一套)
- 延迟退休人员协议书
- 辽宁2025年三支一扶考试真题
- 人工智能在单片机教学中的应用与创新
- 历史教学新视角:学科核心素养“历史解释”实施策略
- 井下作业施工方案
- 2025年小学一年级语文考试趣味试题及答案
- 社会科学领域课题研究报告范文
- 成人脓毒症患者医学营养治疗指南(2025版)
- 生物工程细胞培养技术试题
- 2025年房地产开发经营服务项目投资风险评估报告
- EPC项目全流程咨询管理的核心要点与优化策略
评论
0/150
提交评论