欢迎来到天天文库
浏览记录
ID:33842536
大小:424.53 KB
页数:5页
时间:2019-02-28
《现代os中的进程调度仿真设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第24卷第4期2006年8月河南科学HENANSCIENCEV01.24No.4Aug.2006文章编号:1004—3918(2006)04—0543—04现代oS中的进程调度仿真设计与实现谭水木t,胡子义,,朱贵良z(1.许昌学院计算机科学与技术学院,河南许昌461000:2.华北水利水电学院信息工程系,郑州450011)摘要:采用模拟与仿真思路,以定时器驱动机制为模式,用动画方式,以进程调度为中心,实现了对选用调度算法的运行过程的模拟与仿真,同时也实现了进程创建、调度、执行、阻塞和终止过程的可
2、视化.系统能够自动完成进程演进过程的数据记录和分析,并对算法的性能进行初步评测.这对深入理解操作系统核心层,透析进程原理,发现和研究新的调度算法具有重要意义.关键词:操作系统;进程管理;进程调度;调度算法;模拟仿真;定时器驱动中图分类号:7rP39l文献标识码:A进程调度是进程管理过程的主要组成部分,是必然要发生的事件.在现代操作系统中,进程的并发机制在绝大多数时候,会产生不断变化的进程就绪队列和阻塞队列.处于执行态的进程无论是正常或非正常终止、或转换为阻塞状态,都会引发从就绪队列中,由进程调度选择一个进
3、程进占CPU.进程调度的核心是进程调度算法.从系统角度考虑,调度算法设计必须考虑以下4个原则:(1)均衡利用有限资源的原则,即CPU、I,O设备与主存利用的均衡性;(2)满足紧急事件进程优先调度的原则;(3)统筹兼顾的合理选择原则,例如,一些运行时间很短,对资源要求不高,发生阻塞状态可能性很小的进程应得到优先执行;(4)尽量减少进程调度过程中的CPU损耗原则.进程就绪队列是一维的,采用优先级调度算法时,只能通过比较算法进行确认,比较过程实现是以牺牲CPU资源为代价的.具体调度算法应避免因CPU资源损耗过大
4、,影响系统整体效率的问题.一种进程调度算法同时满足以上4点是困难的,只能是趋近上述目标.由于进程调度过程的不可视性、算法的复杂性和耦合关系模糊性,使得辨析调度算法的优劣及进行新的调度算法研究变得非常困难.用模拟与仿真的方法,把进程调度的动态演进过程变为可视化,这对深入理解操作系统核心层,透析进程原理,发现和研究新的调度算法具有重要意义.1系统结构设计系统采用模拟与仿真的思路,实现进程调度演进过程的可视化.系统采用VisualC++6.0进行编程,在WIN2000/)【P平台下,以进程调度为中心,对选用调度
5、算法的演进过程进行了模拟与仿真,同时也可以实现进程创建、调度、执行、阻塞和终止过程的可视化.系统对选定的进程调度算法,可对演进过程的数据进行记录和分析,可以实现对算法的性能的比较性分析和评测.1.1关键技术实现模拟仿真的关键在于正确设置进程活动的随机性和可视描述进程的动态性.进程活动的随机性主要包括进程产生的随机性,进程执行时间长短的不确定性,进程阻塞、唤醒、调度、终止等过程的时间随机性.该系统通过一个随机数生成器,在特定时刻生成一定范围内的随机数,并由相应计时器、计数器保存,在每个定时器周期内进行更新.
6、进程动态性的可视化描述是采用以定时器消息为驱动机制的循环过程.该过程以动画方式展示了进程、CPU、进程队列等实体表示的进程调度、执行、进程状态转换和进程队列变图1系统总体流程图Fig.1Thegeneralnowchanfothesystem收稿日期:2006—03一03基金项目:国家自然科学基金项目:(60475040)作者简介:谭水木(1960一),男,河南临颖人,许昌学院副教授,研究方向:人工智能.万方数据一544一河南科学第24卷第4期化等过程.通过状态栏、Edit控件及相应的CEdit对象显示系
7、统操作信息、新建进程PCB参数信息和调度算法切换等信息.进程调度算法性能分析评测包括记录进程号、创建时刻、耗时、调度时刻、终止时刻等数据项记录;还包括进程的响应时间、周转时间、CPU利用率、平均响应时间、平均周转时间等参数的记录等.系统流程如图l所示.1.2实体定义与描述实现进程调度演进过程的可视化,需要定义一组面向对象的进程调度实体,并对调度过程进行量化,才能进行可视化描述,实体定义与描述如表l所示.表1系统实体及过程的数据或图形表示Table1Dataor伊aphrepresentationofent
8、itiesafIdpmcedureinsystem实体或过程数据表示图形表示进程CPU进程的执行进程队列进程管理员Process结构体(PcB)颜色各异的矩形框无一条竖线无进程图形按一定速度通过滑过cPu竖线由进程结构体串成的双向链表由“+_,,连成进程矩形队列类PmMaIlager及其对象pm无1.3定时器设计为模拟进程演进过程的有限循环性、进程就绪与阻塞队列的动态性以及进程执行的过程,系统采用以定时器消息为驱动的循环过程,
此文档下载收益归作者所有