进程调度模拟设计——时间片轮转、优先级法.doc
学号:
0120810340
课程设计
题目
进程调度模拟设计——时间片轮转、优先级法
学院
计算机科学与技术学院
专业
计算机科学与技术专业
班级
计算机0809班
姓名
指导教师
汪祥莉
2010
年
1
20
日
课程设计任务书
学生姓名:专业班级:计算机0
指导教师:汪祥莉工作单位:计算机科学与技术学院
题目:进程调度模拟设计——时间片轮转、优先级法
初始条件:
1.预备内容:阅读操作系统的处理机管理章节内容,对进程调度的功能以及进程调度算法有深入的理解。
2.实践准备:掌握一种计算机高级语言的使用。
要求完成的主要任务:〔包括课程设计工作量及其技术要求,以及说明书撰写等具体要求〕
1.模拟进程调度,能够处理以下的情形:
⑴能够选择不同的调度算法〔要求中给出的调度算法〕;
⑵能够输入进程的根本信息,如进程名、优先级、到达时间和运行时间等;
⑶根据选择的调度算法显示进程调度队列;
⑷根据选择的调度算法计算平均周转时间和平均带权周转时间。
2.设计报告内容应说明:
⑴课程设计目的与功能;
⑵需求分析,数据结构或模块说明(功能与框图);
⑶源程序的主要局部;
⑷测试用例,运行结果与运行情况分析;
⑸自我评价与总结:
=1\*romani〕你认为你完成的设计哪些地方做得比拟好或比拟出色;
=2\*romanii〕什么地方做得不太好,以后如何改正;
=3\*romaniii〕从本设计得到的收获〔在编写,调试,执行过程中的经验和教训〕;
=4\*romaniv〕完成此题是否有其他方法〔如果有,简要说明该方法〕;
=5\*romanv〕对实验题的评价和改良意见,请你推荐设计题目。
时间安排:
设计安排一周:周1、周2:完成程序分析及设计。
周2、周3:完成程序调试及测试。
周4、周5:验收、撰写课程设计报告。
〔考前须知:严禁抄袭,一旦发现,抄与被抄的一律按0分记〕
指导教师签名:年月日
系主任〔或责任教师〕签名:年月日
进程调度模拟设计
——时间片轮转、优先级法
1设计目的与功能
1.1设计目的
了解进程调度中的相关知识,能够使用其中的方法来进行进程调度模拟设计。本次课程设计的重点是时间片轮转和优先级法的使用,要求熟练掌握并运用他们,并能够运用一种高级语言来完成这个程序。
1.2设计功能
模拟进程调度,能够处理以下的情形:
⑴能够选择不同的调度算法〔要求中给出的调度算法〕;
⑵能够输入进程的根本信息,如进程名、优先级、到达时间和运行时间等;
⑶根据选择的调度算法显示进程调度队列;
⑷根据选择的调度算法计算平均周转时间和平均带权周转时间。
2.需求分析,数据结构或模块说明(功能与框图)
2.1需求分析
无论是在批处理系统、分时系统还是实时系统,用户进程数一般都多于处理机数,这将导致用户进程互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按照一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。进程调度的主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。这次课程设计所要求使用的方法是时间片轮转和优先级法,并且能够选择不同的算法。
而时间片轮转法的根本思路是让每个进程在就绪队列中的等待时间与享受效劳的时间成比例。时间片轮转法的根本概念是将CPU的处理时间分成固定大小的时间片。如果一个进程选中之后用完了系统规定的时间片,但未完成要求的任务,那么它自行释放自己所占有的CPU而排到就绪队列的末尾,等待下一次调度。同时,进程调度程序又去调度当前就绪队列中的第一个进程或作业。优先级法是系统或用户按某种原那么为作业或进程指定一个优先级来表示该作业或进程所享有的调度优先权。优先级高的作业或进程优先调度。
根据所需求,这个进程调度的实现过程如下列图所示:
开始
开始
选择调度方法
时间片轮转
优先级法
输入进程信息
显示进程调度队列列
计算平均周转时间和平均带权周转时间并显示出来
2.2数据结构和模块说明
主要数据结构:
typedefstructinnode
{
intnum;//进程提交顺序
stringpname;//进程名
doublectime;//到达时间
doublertime;//运行时间
doubleyx;//优先级
intbj;//标记项
innode*next;
}*inlist;
typedefstructrnode
{