青岛理工大学
操作系统课程设计报告
院(系): 计算机工程学院
专业: 计算机科学与技术 班级:计算
112
班
学生姓名: 张华建 学号: 201107070
周伟鑫 201107071
题目: 通用处理机调度演示程序
起迄日期: 2014 -0 7 -07 — 2014-07-17
设计地点:现代教育中心
101-103 、主教学楼
B505
指 导 教 师: 张楠
2013—2014 年度 第 2 学期
完成日期: 2014 年 7 月 17 日
设计文档目录
一、课程设计目的.................................................3
二、需求分析课程设计内容与要求....................................3
三、系统分析与设计...............................................3
3.1 系统分析.............................................3
3.2 系统设计.............................................5
四、系统测试与调试分析..........................................13
4.1 系统测试............................................13
4.2 调试分析............................................15
五、用户手册....................................................16
六、程序清单....................................................19
七、体会与自我评价...............................................28
八、参考文献.....................................................29
九、课程设计评价.................................................29
小组分工:
张华建(201107070):
界面布局的总体设计,静态优先权选择算法的设计,时间片轮转(RR)算法的设计实现
外部文件的信息读取,手动新建就绪队列的实现,就绪进程队列的实现 (DataTable 数据与
GridView 的绑定显示),动态表格 Table 刷新和实时显示颜色块的功能实现,代码规范整合,
Timer 定时器的使用。
周伟鑫(201107071):
先来先服务调度(FCFS)算法,最短时间优先调度(SJF)算法,高响应比优先调度(HRN)
算法的实现,各算法对应的数据计算,执行队列和已完成进城队列的信息处理,设计文档
的编写。
备注:
一个系统本就是个统一的整体,不是说是哪个模块单独由某人实现,团队的合作本就
是对于出现的问题进行共同探讨和解决,况且选择用.NET 来做这次的课设项目本就是一次
未知的挑战,我们不会用的功能都需要上网查询,只要是想解决的问题,总能找到方法的。
一、课程设计目的
操作系统课程是当代计算机软件系统的核心,是计算机系统的基础和支撑,它管理和
控制着计算机系统中的所有软、硬件资源,可以说操作系统是计算机系统的灵魂。操作系
统课程是计算机专业学生必须学习和掌握的基础课程, 是计算机应用人员深入了解和使用
计算机的必备知识, 是进行系统软件开发的理论基础。
操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源并组织用
户协调使用这些资源,使计算机高效的工作。此次的课程设计所选的题目为“通用处理机调
度演示”,所以通过此次课设能够更加理解操作系统中处理机的工作方式,同时在设计不同
算法的过程中,也可以明确的知道各种调度算法的使用优劣,视不同的环境条件下,调用
不同的算法可也达到比较想要的结果。
通过这次的实际操作系统分析设计、编程调试,掌握系统软件的分析方法和工程设计
方法,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力
及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软
件设计文档的能力。所以说,一次积极地课程设计可以锻炼我们学生的很多能力,当然初
衷还是要方法切实以正确的态度来完成课程设计的前提,希望我们可以收获到自己的能力
提升.
二、课程设计内容与要求
1、 课程设计内容:
设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干
个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须
选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个模拟处理
机调度算法,以巩固和加深处理机调度的概念。
2、 课程设计要求(多道、单处理机):
(1)进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态
优先权优先调度算法、高响应比调度算法。
(2)每一个进程有一个 PCB,其内容可以根据具体情况设定。
(3)进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设
定。
(4)可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片
长度、作业大小、进程优先级的初始化。
(5)可以在运行中显示各个进程的状态:就绪、执行(由于不要求设置互斥资源与进
程间的同步关系,故只有两种状态)。
(6)采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及
相应的阻塞队列。
(7)有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间。
(8)具有一定的数据容错性。
三、系统分析与设计
1、系统分析
通用处理机调度演示系统,需要模拟进程调度的五种算法:先来先服务调度算法,短
作业优先调度算法,高响应比优先调度算法,时间片轮转调度算法,静态优先权优先调度
算法,时间片轮转算法。
每个作业包括多个进程,进程可以并发,每一个进程用一个进程类表示,进程类包含
如下信息:PCB 名称,进入内存时间,服务时间,状态标志,进程大小,内部 PCB 标志,
进程的优先级。既可以用户自己输入相关进程,又可以读取外部文件,能够比较同一组数
据在不同调度算法下的平均周转时间和平均带权周转时间。因为多数信息需要在执行过程
中进行数据处理和动态显示,要求直观而规范的呈现演示过程。
在系统分析阶段,系统的逻辑结构应从以下三方面全面反映系统的功能与性能:
(1)信息。在开始界面,用户可以自行选择进程就绪队列的产生方式,既可以自己创
建,也可以读取外部文件。其中进程名称,优先级别,服务时间都是必不可少的,创建之
初,会自动读取系统时间作为到达时间,当演示开始之时,会相应的读取系统时间作为开
始时间,这些信息都会对运行过程中的响应比发生影响,为后面的信息提取做准备.
(2)行为。根据要求,如果自己创建进程,也可自行输入进程名称,服务时间,优先
级别等信息,点击“创建新进程”按钮,可以提供动态表格的呈现与否,当未完成进程调度
算法,在右下侧的区域,点击数据处理按键显示对应算法的平均周转时间和平均带权周转
时间。因为采用的 Timer 计时器的设置,所以每一秒都会定时刷新界面,进而数据变动的
模块都会不断的变化,更加直观的显示进程调度情况。
(3)表示。用户可以自行演示,点击相应按钮执行操作,其中的 RadioButtonList 提供
多种选择方式,可以根据自己的需要进行选择。同时,采用的.NET 设计使界面更加新颖,
Table 单元格的实时刷新,可以直观的显示算法的调用过程中各个进程的状况,而且数据不
断更新,可自行查阅.
系统界面布局展示:
图3-1-1 开始界面
WELCOME
通用处理机调度演示程序
登录账号:
登录密码:
图3-1-2 操作主界面(1)
图3-1-3 操作主界面(2)
2、系统设计:
调度算法选择
执行进程表
算法调度动态演示表
样例导入
退出程序
创建新进程
运行演示
清除所有进程信息
就绪进程队列表
已完成进程队列表
显示数据
通用处理机调度演示程序
先 来
先 服
务 调
度
短 作
业 优
先 调
度
高 响
应 比
优 先
调度
静 态
优 先
权 调
度
时 间
片 轮
转 调
度