当前位置:文档之家› 时间片轮转算法分析

时间片轮转算法分析

时间片轮转算法分析
时间片轮转算法分析

int need_time; //要求运行时间

int worked_time; //已运行时间,初始为0

char condition; //进程状态,只有“就绪”和“结束”两种状态

int flag; //进程结束标志,用于输出

}PCB; PCB *front,*rear; //循环链队列的头指针和尾指针 int N; //N 为进程数

定义循环链表的头指针和尾指针。QueuePtr front,QueuePtr rear。4)struct PCB

{ int ArrivalTime;

int ServiceTime;

har number;

}m[MaxNum];

采用结构体数组,创建一个进程,包含进程相关信息:进程名称、进程到达时间、进程服务时间。

4.2.3 总体设计

程序总体设计:首先选择1创建进程,输入进程总数,进程的名称,各进程到达的时间,各进程服务的时间,以及时间片q的值,运行出结果。选择2将结束运行,如图1所示。

图1 系统总体设计

图5 主菜单

2)运行过程:选择1,创建进程。输入进程总数,进程的名称a 、b,各进程到达的时间,各进程服务的时间,以及时间片q的值。当输入进程为2时,各进程到达时间为3,2,各进程服务时间为2,3,以及时间片q=2时的情况,输入情况如图6所示。

图6创建进程

3)输入成功后,按回车键,进程在程序中的具体实现情况即:时间轮转情况。进程在调度算法中,计算出的具体的完成时间,周转时间,带权时间,平均周转时间,平均带权周转时间,如图7所示。

图7进程运行结果

3)选择2:退出界面,如图8。

图8退出界面

6. 心得体会

首先,我认为这次课程设计是对学习操作系统的一次综合考察,锻炼我综合分析问题、解决问题的能力。初次找到课程设计的题目时,为程序本身的简单而窃喜过;实验过程中也出现了一些难题需要解决,为此去苦苦探索过。课程设计期间,曾多次登录网站浏览网页,为了弥补一些知识上的纰漏,一次次实践。当

相关主题
文本预览
相关文档 最新文档