操作系统课程设计-磁盘调度模拟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机科学技术学院

操作系统原理课程设计报告

题目:模拟磁盘调度

专业:网络工程

班级:网络10-1

姓名:李悦

学号:201017040111

指导老师:李益民

2012年12月

《操作系统原理》课程设计任务书

(网络工程专业10-1)

一、课程设计题目:模拟磁盘调度

二、设计目的和要求

1.设计目的

《操作系统原理》课程设计是网络工程专业实践性环节之一,是学习完《操作系统原理》课程后进行的一次较全面的综合练习。其目的在于加深对操作系统的理论、方法和基础知识的理解,掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。

2.基本要求:

(1)选择课程设计题目中的一个课题,独立完成。

(2)良好的沟通和合作能力

(3)充分运用前序课所学的软件工程、程序设计、数据结构等相关知识

(4)充分运用调试和排错技术

(5)简单测试驱动模块和桩模块的编写

(6)查阅相关资料,自学具体课题中涉及到的新知识。

(7)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。

三、设计内容及步骤

1.根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么。

2.根据实现的功能,划分出合理的模块,明确模块间的关系。

3.编程实现所设计的模块。

4.程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;

5.结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。

6.编写课程设计报告;

设计报告要求:A4纸,详细设计部分主要叙述本人的工作内容

设计报告的格式:

(1)封面(题目、指导教师、专业、班级、姓名、学号)

(2)设计任务书

(3)目录

(4)需求分析

(5)概要设计

(6)详细设计(含主要代码)

(7)调试分析、测试结果

(8)用户使用说明

(9)附录或参考资料

目录

1.需求分析 (4)

2.数据结构的设计 (4)

2.1函数介绍 (4)

3.程序概要设计内容 (4)

3.1磁盘调度 (4)

3.1.1先来先服务(FCFS) (4)

3.1.2最短时间优先算法 (5)

3.1.3扫描(SCAN)调度算法 (5)

3.1.4循环扫描(CSCAN)算法 (5)

4.程序详细设计及流程图 (5)

4.1系统流程图 (5)

4.2先来先服务(FCFS) (6)

4.3最短寻道时间优先(SSTF) (7)

4.4扫描算法(SCAN) (7)

4.5循环扫描(CSCAN)算法 (9)

5.功能模块描述及使用说明 (10)

5.1先来先服务调度(FCFS) (10)

5.2最短寻道时间优先调度(SSTF) (10)

5.3扫描调度算法(SCAN) (11)

5.4循环扫描算法(CSCAN) (12)

6.参考文献 (12)

附源代码 (12)

1.需求分析

操作系统的任务之一就是有效的使用硬件。对于磁盘驱动器,满足这一要求意味着要有较快的访问速度和较宽的磁盘带宽。访问时间包括两个主要部分:寻道时间,旋转延迟。磁盘带宽是所传递的总的字节数除以从服务请求开始到最后传递结束时的总时间。可以通过使用好的访问顺序来调度磁盘I/O请求,提高访问速度和宽度。本程序模拟四种磁盘调度算法:先来先服务调度(FCFS),最短寻道时间优先调度(SSTF),扫描调度算法(SCAN),循环扫描算法(CSCAN)。并通过比较,了解各种算法的优缺点。

2. 数据结构的设计

2.1 函数介绍

Hand:当前磁道号;

DiscLine[10]:随机生成的磁道号;

void SetDI(int DiscL[])生成随机磁道号算法;

void CopyL(int Sour[],int Dist[] ,int x) 数组Sour复制到数组Dist,

复制到x个数(四)详细设计;

void DelInq(int Sour[],int x,int y) 数组Sour把x位置的数删除,x

后的数组元素向前挪一位.

void PaiXu()寻道长度由低到高排序

void FCFS(int Han,int DiscL[])先来先服务算法(FCFS)

void SSTF(int Han,int DiscL[])最短寻道时间优先算法(SSTF)

int SCAN(int Han,int DiscL[],int x,int y) 扫描算法(SCAN)

void CSCAN(int Han,int DiscL[])循环扫描算法(CSCAN)

3.程序概要设计内容

3.1磁盘调度

在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列。

3.1.1先来先服务(FCFS)

即先来的请求先被响应。FCFS策略看起来似乎是相当"公平"的,但是当请求的频率过高的时候FCFS策略的响应时间就会大大延长。

相关文档
最新文档