《进程调度模拟》 高级语言程序设计.doc

《进程调度模拟》 高级语言程序设计.doc

ID:28196171

大小:97.50 KB

页数:22页

时间:2018-12-09

《进程调度模拟》 高级语言程序设计.doc_第1页
《进程调度模拟》 高级语言程序设计.doc_第2页
《进程调度模拟》 高级语言程序设计.doc_第3页
《进程调度模拟》 高级语言程序设计.doc_第4页
《进程调度模拟》 高级语言程序设计.doc_第5页
资源描述:

《《进程调度模拟》 高级语言程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、学号2013-2014学年第二学期1308020146《高级语言程序设计》课程设计报告题目:进程调度模拟专业:网络工程班级:13(1)班姓名:周保中指导教师:程庆成绩:计算机与信息工程系二0一四年四月二十日目录第1章课程设计的目的与要求31.1课程设计目的31.2课程设计的实验环境31.3课程设计的预备知识31.4课程设计要求3第2章课程设计内容42.1程序功能介绍42.2程序整体设计说明42.2.1设计思路62.2.2数据结构设计及用法说明62.2.3程序结构(流程图)72.2.4各模块的功能及程序说明102.2.5程序结果102.3程序源代码及注释10第3章课程设计总结20参考资料22第1

2、章课程设计的目的与要求1.1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1.巩固和加深学生对C语言课程的基本知识的理解和掌握2.掌握C语言编程和程序调试的基本技能3.利用C语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用C语言解决实际问题的能力1.2课程设计的实验环境硬件要求能运行Windows2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。1.3课程设计的预备知识熟悉C语言及C语言开发工具。1.4课程设计要求1.分析课程设计题目的要求2.写出

3、详细设计说明3.编写程序代码,调试程序使其能正确运行4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告第2章课程设计内容2.1程序功能介绍在多道程序环境下,进程数目往往多于处理机数目,致使他们争用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之运行。分配处理机的任务是由进程调度程序完成的。一个进程被建立后,系统为了便于对进程进行管理,将系统中的所有进程按其状态,将其组织成不同点进程队列。于是系统中有运行进程队列、就绪队列和各种事件的进程等待队列。进程调度的功能就是从就绪队列中挑选一个进程到处理机上运行。本课题模拟实现进程调度算法,选用了优先数调度算

4、法和时间片轮转算法。优先数调度算法常用于批处理系统中。在进程调度中,每次调度时,系统把处理机分配给就绪队列中优先数最高的进程。它又分为两种:非抢占式优先数算法和抢占式优先数算法。在非抢占式优先数算法下,系统一旦把处理机分配给就绪队列中优先数最高的进程后,这个进程就会一直运行,直到完成或发生某事件使它放弃处理机,这时系统才能重新将处理机分配给就绪队列中的另一个优先数最高的进程。在抢占式优先数算法下,系统先将处理机分配给就绪队列中优先数最高的进程度让它运行,但在运行的过程中,如果出现另一个优先数比它高的进程,它就要立即停止,并将处理机分配给新的高优先数进程。时间片轮转调度是一种最古老,最简单,最公

5、平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。2.2程序整体设计说明进程调度的设计方法1。数据结构(1)优先级与时间片的设计进程因等待放弃CPU时,优先级置为1(高优先级)进程因时间片到放弃CPU时,优先级置为0(低优先级)优先1对应时间片4;优先级0对应时间片10。(2)进程控制块(PCB)的内容进程标识3---9进程优先级0,1进程优先级0,1

6、进程等待时间20链接指针2:程序算法PCB结构,变量与主程序structPCB{intpname;intpri;intruntime;intwaitting;structPCB*next;}pcb[7];structPCB*running,ready,wait;intsin=0;main(){创建PCB[3]--PCB[9]并插入ready队列;/*pname分别为3--9,pri=0,runtime=10,waittime=0*/for(;;)/*系统程序,完成初始化和处理机分派功能*/{cast{sig=0:swtch;sig=1:waiter;sig=3:proc3;sig=4:proc

7、4;sig=5:proc5;sig=6:proc6;sig=7:proc7;sig=8:proc8;sig=9:proc9;}}}2.2.1设计思路1设计进程进程控制块PCB表结构,分别适用于优先数调度算法和循环轮转调度算法。  PCB结构通常包括以下信息:进程名,进程优先数(或轮转时间片),进程所占用的CPU时间,进程的状态,当前队列指针等。根据调度算法的不同,PCB结构的内容可以作适当的增删。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。