采用优先数算法模拟进程调度程序

采用优先数算法模拟进程调度程序

ID:41421183

大小:198.54 KB

页数:15页

时间:2019-08-24

采用优先数算法模拟进程调度程序_第1页
采用优先数算法模拟进程调度程序_第2页
采用优先数算法模拟进程调度程序_第3页
采用优先数算法模拟进程调度程序_第4页
采用优先数算法模拟进程调度程序_第5页
资源描述:

《采用优先数算法模拟进程调度程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、肇庆学院计算机科学与软件学院《操作系统》课程设计报告设计题目:采用优先数算法模拟进程调度程序完成口期:2008年6月3日设计目的设计预备知识om二§调管数程先进优lzlz1ACXJz(z(设计内容采程小组成员分工采用优先数算法模拟进程调度程序分析、设计与实现一、设计理论描述进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。另有一种定义方法是“程序在处理器上的执行”。为了模拟的方便,本设计采用这种定义。简单地说,进程包括三种状态:运行状态、就绪状态、完成状态。通常操作系统用一个称为

2、进程控制块(PCB)的数据结构来记录进程的属性信息。PCB-般应包含以下信息:进程标识信息(本进程的标志ID、父进程的标志ID、用户标识);处理机状态信息(用户使用的寄存器、控制和状态寄存器、堆栈指针);进程调度和控制信息(进程的状态、进程的调度优先级、程序和数据的地址、进程同步和通信机制、进程已等待吋间、已使用的处理器时间、进程在有关队列中的链接指针、分给进程的主存大小和位置、进程使用的其他资源信息、进程得到有关服务的优先级、进程调度所需的其他信息)。优先级调度算法:按照进程的优先级大小来调度,是高优

3、先级进程得到优先的处理的调度策略,可使用非抢占或可抢占两种策略。二、设计思想、设计分析及数据结构模型这个设计需要考虑两个问题:如何组织进程、如何实现进程模拟调度。考虑如何组织进程,首先就要设置进程控制块的内容。进程控制块PCB记录各个进程执行时的情况。不同的操作系统,进程控制块记录的信息内容不一样。操作系统功能越强,软件也越庞大,进程控制块记录的内容也就越多。这里的设计只使用了必不可少的信息。一般操作系统屮,无论进程控制块屮信息量多少,信息都可以大致分为以下四类:(1)标识信息毎个进程都要有一个唯一的标

4、识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用符号方式,也就是为每个进程依次分配一个不相同符号。(2)说明信息用于记录进程的基本情况,例如,进程的状态、等待原因、进程程序存放位置、进程数据存放位置等。设计屮,因为进程没有数据和程序,仅使用进程控制块模拟进程,所以这部分内容仅包括进程状态。(4)管理信息管理信息记录进程管理和调度的信息。例如进程优先数和进程队列指针等。设计中,包括队列指针、进程优先数、已运行时间、

5、还需运行时间。因此可将进程控制块结构定义如下:ClassPCB{Stringproname;〃进程标识符Stringstate;〃进程状态Intpri;〃进程优先数Intruntime;〃进程已运行时间Intneedtime;〃还需要运行时间PCB*next;〃下一个进程控制块的指针}确定进程控制块内容后,要考虑的就是如何将进程控制块组织在一起。多道程序设计系统,往往同吋创建多个进程。在单处理机的情况下,每次只能有一个进程处于运行态,其他的进程处于就绪状态或等待状态。为了便于管理,通常把处于相同状态的进

6、程的进程控制块链接在一起。单处理机系统中,止在运行的进程只有一个,因此,单处理机系统中进程控制块分成一个正在运行进程的进程控制块、就绪进程的进程控制块组织成的就绪队列和等待进程的进程控制块组成的等待队列。由于设计模拟的是进程调度,没有对等待队列的操作,所以设计中只有一个指向正在运行进程的进程控制块指针和一个就绪进程的进程控制块队列指针和一个指向已完成进程的进程控制块队列指针。这样,进程控制块的链表实际上是数据结构中使用的静态链表。进程控制块的链接方式可以采用单向和双向链表,设计中,进程控制块队列采用单向

7、不循环静态链表。在各队列中,各进程按照进程的优先数进行排列,队首指向的是优先数最高的进程,每次向各队列中插入一个进程时都会先按照插入排序法按优先数从高到低把进程插入到队列的相应位置。以上是如何组织进程,下面考虑如何调度进程,一开始,调度程序将就绪队列的队首进程加入到运行队列,运行i周期后用当前正在运行的进程的优先数与就绪队列队首进程的优先数对比,如果当前运行的进程的优先数小于就绪队列队首的进程,则把当前运行的进程按照按优先数的顺序插入到就绪队列的相应位置,把就绪队列队首的进程加入到运行队列中。三.程序流

8、程图就绪队列队首进程加入运行队列程插入到运行队列.includetfstdafx.htf#include#include

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

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

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