欢迎来到天天文库
浏览记录
ID:21765311
大小:297.23 KB
页数:19页
时间:2018-10-24
《课程设计:处理机调度算法的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、摘要处理机调度基本概念、调度算法优劣的评价准则、多种处理机调度算法的介绍引言操作系统是处理计算机硬件的一层软件和作为计算机用户与计算机硬件的中间的协调者。操作系统的CPU调度器负责给各个任务分发CPU带宽资源。调度算法负贵管理当前执行任务等额顺序和性能。目录1.碰32.课程设计任务及要求42.1没计任务42.2设计要求42.3任务分工43.1算法的总体思想53.2动态优先级模块83.2.1功能83.2.2算法83.3时间片轮转模块103.3.1功能103.3.2算法103.4短作业优先模块113.4.1功能113.4.2算法124.程序设计与实现
2、144.1程序代码144.2实验结果155.^1^184.收获、体会和建议。191.概述在多道程序系统屮,调度的实质是一种资源分配,处理机调度是对处理机资源进行分配。处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。在多道批处理系统中,一个作业从提交到获取处理机执行,直至作业运行完毕,4能需要经历多级处理机调度,下面先來了解处理机调度的层次。1.课程设计任务及要求2.1设计任务在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。力了使系统屮的进程能育条不紊地工作,必须选用某种调度策略
3、,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。2.2设计要求1)先由用户输入进程数量(至少5个进程),再由系统随机生成一个进程序列(包括到达时间和服务时间)。2)然后显示进程调度算法由用户选择,包括:吋间片轮转法,短作业优先算法,动态优先级算法。3)显示结果包栝每个进程的开始时间、完成时间、周转时间以及带权周转时间,显示界面可参考书本的例子以表格形式但可不要表格线。2.3任务分工时间成员姓名任务完成情况第1天曾飞跃、廖晓丹功能分析完成曾飞跃、廖晓丹设计算法完成第2天曾飞跃、廖晓丹修改编码完成曾飞跃、廖晓
4、丹测试功能,撰写课程设计报告完成第3天曾飞跃、廖晓乃-撰写课程设计报告,修改并完善完成3.算法及数据结构2.1算法的总体思想①动态优先数调度算法:思想:为每一个进程没一个优先数,它总是把处理机给就绪队列中具有最高优先级的进程。初始的进程优先数是随机产生的,随着进程的运行对优先数进行调整,每次运行时都是从就绪队列中选取优先数最大的进程运行,所以将就绪队列按照优先数的大小从高到低排序,这样,每次取对首进程即可。将进程按优先数的大小排列在就绪队列屮,每次选取就绪队列中优先权最尚的进程首先占用处理机。优先数巾随机函数产生进程最初的优先数。优先数的动态变化
5、:进程每执行一次优先数-1。优先数随着进程的执行进行调整,每次执行时都从就绪队列中选収优先数最大的进程投入运行。①吋间片轮转调度算法:思想:将所有进程按照先来先服务的规则排成一个队列,把CPU分配给就绪队列的队首进程,并规定它的执行时间(称此时间为时间片),当时间片用完但并未执行结來时,剥夺该进程的执行,将其链接到就绪队列的队尾,等待丁一次的选择。将就绪队列的队首指针投入运行。②短作业优先调度算法(不可剥夺式的)思想:根据估计运行时间的长短,将各个进程排成一个就绪队列(估计运行时间最短的进程排在队首),每次运行将队首进程投入运行,直到运行结來,将
6、此进程连接到完成队列的队尾。然后,再将卜一个队首进程投入运行,直到所有的进程都运行完毕。流程图:结束短作业优先动态优先级吋间片轮转调度数据结构:typedefstruct{//进程块iniid;//进程名intreach;//到达时间floatservice;//服务吋间intprior;//优先权intfinish;//完成时间floatturnover;//周转时间floatcum」umover;//带权周转吋M}process;processp[20];intsort[20];//排序数组intwait[20];//等待队列intn;int
7、alltime=O;//运行所需耍的总吋叫charc;in();为创建进程的函数:通过调用函数,输入进程标志,动态生成进程的到达时间,服务时间,优先权等,然后把进程存储到队列中,讲进程按到达时间顺序进行排序。Out()为进程调度输出打印函数,选择不同的调度方式按照不同的打印方式打印TimesliceO:吋间片轮转法函数:函数将到达的进程放进等待队列wait,通过岀队比较来完成调度,讲满足调度的队列计算周转时间,和带权周转时间。Sjf()短作业优先算法:该算法将到达的进程放进等待队列里而,将等待队列按进程服务时间从大到小进行排列,相同服务时间的按先
8、到达先处理方式排列,然后出队,计算周转时间Fpf()动态优先级算法:该算法将到达的进程放进等待队列里面,将等待队列按进程优先权从小到大进
此文档下载收益归作者所有