操作系统课程设计报告进程调度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如:划分CPU时间,内存空间的开辟,调用打印机等。
操作系统的主要功能是资源管理,程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等。信息资源指的是存放于计算机内的各种数据,如系统软件和应用软件等。
操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
本次课程设计我们将对上学期所学的知识进行系统的应用,而达到巩固知识的作用
页脚内容1
目录
1问题概述 (3)
2需求分析 (3)
3 概要设计 (3)
3.1主要功能 (3)
3.2 模块功能结构 (3)
3.3 软硬件环境 (4)
3.4数据结构设计 (4)
4 详细设计 (5)
4.1“先来先服务(FCFS)调度算法” (5)
4.2“短进程调度算法(SPF)” (9)
4.3“高响应比优先调度算法” (13)
4.4“优先级调度(非抢占式)算法” (17)
5 系统测试及调试 (21)
5.1测试 (21)
5.2调试过程中遇到的问题 (22)
6 心得体会 (23)
页脚内容1
7 参考文献 (24)
8 附录 (25)
页脚内容2
1问题概述
编写一个进程调度程序,允许多个进程并发执行。采取多种进程调度算法(先来先服务(FCFS)调度算法,短进程调度算法(SPF),高响应比优先调度算法,优先级调度(非抢占式)算法)。分析比较各个算法的优缺点。
2需求分析
进程调度的功能是记录系统中所有进程的执行情况、从就绪态队列中选择一个进程,进行进程上下文的切换。采取不同的算法根据外部环境及条件进行进程的切换。
3 概要设计
3.1主要功能
进程调度的功能是记录系统中所有进程的执行情况、从就绪态队列中选择一个进程,进行进程上下文的切换。采用先来先服务(FCFS)调度算法,短进程调度算法(SPF),高响应比优先调度算法,优先级调度(非抢占式)算法进行进程的切换。
3.2 模块功能结构
页脚内容3
图3.2系统结构图3.3 软硬件环境
本程序所适用的计算机系统软硬件环境要求为:硬件环境: Pentium III 500以上内存:256M
软件环境: Linux Windows 7
应用软件:Dev-C++
3.4数据结构设计
struct PCB_struct
{
页脚内容4
char name[10]; //进程名称
int priority; //优先级
int number; //进程编号
float come_T; //到达时间
float run_begin_T; //开始运行时间
float run_end_T; //结束运行时间
float run_T; //运行时间
int order; //运行次序
int run_flag; //调度标志
}PCB[MAX];
4 详细设计
4.1“先来先服务(FCFS)调度算法”
4.1.1具体方法
先来先服务算法是按照进程到达先后次序来进行调度。
进入该函数后读取每个进程控制块PCB中的到达时间come_T 从come_T最早的开始运行,依次运行完毕。记录开始运行时间run_begin_T和结束运行时间run_end_T,并记录运行次序。最后调用调度结果输出函数,输出进程信息和平均周转时间和平均带权周转时间。
页脚内容5
4.1.2运行结果
图4.1.2“先来先服务调度算法”运行结果图
页脚内容6
4.1.3系统流程图
页脚内容7
页脚内容8
图4.1.3“先来先服务(FCFS)调度算法”
4.2“短进程调度算法(SPF)”
4.2.1具体方法
短进程调度算法是指对短进程优先调度的算法,这里进程的长短是以进程要求运行的时间的长短来衡量。
进入该函数后读取每个进程控制块中的到达时间come_T,选取最早的,若时间相同则选运行时间最短的进程进行调度,记录开始运行时间run_begin_T 和结束运行时间run_end_T,并记录运行次序。一个进程运行完成后,在查看在此进程运行时间内到达的进程,选取运行时间最短的运行,依次重复,直至所有进程运行完毕,最后调用调度结果输出函数,输出进程信息和平均周转时间和平均带权周转时间。
4.2.2运行结果
页脚内容9
图4.2.2“短进程调度算法”运行结果图
页脚内容10