进程调度模拟程序

进程调度模拟程序

ID:20405928

大小:218.35 KB

页数:17页

时间:2018-10-09

进程调度模拟程序_第1页
进程调度模拟程序_第2页
进程调度模拟程序_第3页
进程调度模拟程序_第4页
进程调度模拟程序_第5页
资源描述:

《进程调度模拟程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、衡阳师范学院《操作系统》课程设计题目:进程调度模拟程序系别:计算机科学系专业:物联网工程班级:1205班学生姓名:陈毅学号:12450135指导老师:王玉奇完成日期:2014年12月*日17目录一.课程设计目的3二.课程设计要求3三.设计思想33.1基本概念33.2进程控制块33.3算法思想5四.详细设计54.1程序设计流程图54.2程序各模块功能介绍6五.运行结果及分析105.1程序调试105.2运行结果105.3结果分析12六.总结13参考文献13附录...............................................................

2、............................1317一.课程设计目的深入掌握进程调度的概念原理和实现方法,理解操作系统进程管理中进行进程调度的过程和编程方法,掌握先来先服务调度算法和最高优先数优先的调度算法,创建进程控制块PCB。理解进程的状态及变化,动态显示每个进程的当前状态及进程的调度情况。进程调度是处理机管理的核心内容。本次课程设计用C语言编写模拟进程调度程序,以便加深理解有关进程控制快、进程队列等概念,并体会最高优先数优先与按时间片轮转调度结合算法的优缺点。二.课程设计要求编写一个进程调度程序,允许多个进程并行执行。1、进程调度算法:采用最高优先数优先与按时间

3、片轮转调度结合算法。2、每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。3、进程的优先数及需要的运行时间可在运行时输入,进程的到达时间为输入进程的时间。4、进程的运行时间以时间片为单位进行计算。5、每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。6、就绪进程获得CPU后都只能运行一个时间片。7、如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就

4、是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。8、每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。三.设计思想3.1基本概念17优先级调度算法:按照进程的优先级大小来调度。使高优先级进程或线程得到优先的处理的调度策略称为优先级调度算法。进程的优先级可以由系统自动地按一定原则赋给它,也可由系统外部来进行安排。本次课程设计是自己给定进程的优先级。但在许多采用优先级调度的系统中,通常采用动态优先数策略。即一个进程的优先级不是固定的,往往是随许多因素的变化而变化。尤其

5、随作业(进程)的等待时间,已使用的处理器时间或其他系统资源的使用情况而定,以防止低优先级进程或线程长期饥饿现象发生时间片轮转算法:时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。时间片轮转算法主要用于处理器调度。采用此算法的系统,其进程就绪队列往往按进程到达的时间来排序。进程调度程序总是选择就绪队

6、列中的第一个进程,也就是说按照先进先出原则调度,但一旦进程占有处理器仅使用一个时间片,在使用完一个时间片后,进程还没有完成其运行,它也必须释放出(被抢占)处理器给下一个就绪的进程。而被抢占的进程返回到就绪队列的末尾重新排队等候再次运行。进程调度程序选择一个就绪状态的进程,使之在处理器上运行,每个进程的状态信息用数据结构(进程控制块PCB)表示,进程的调度采用最高优先数优先和按时间片轮转相结合的调度算法,并且采用动态优先数策略,选择进程占用处理器后该进程仅能使用一个时间片,运行完后优先数减1。进程的状态:运行状态R(Run):进程正在处理器上运行。就绪状态W(Wait):一个进程获

7、得了除处理器外的一切所需资源,一旦得到处理器即可运行。完成状态F(Finish):一个进程一旦完成,就停止运行。3.2进程控制块描述进程的状态信息,用结构体定义typedefstructprocess{charname[10];//进程名17intpriority;//优先数TimeReachTime;//到达时间TimeNeedTime;//需要运行时间TimeUsedTime;//已用时间charstate;//进程状态}PCB;//进程控制块3.3算法思想定义结构体PCB描

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

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

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