精品作业分享-OS-优先数调度算法源代码(实验报告).doc

精品作业分享-OS-优先数调度算法源代码(实验报告).doc

ID:57378453

大小:189.50 KB

页数:11页

时间:2020-08-13

精品作业分享-OS-优先数调度算法源代码(实验报告).doc_第1页
精品作业分享-OS-优先数调度算法源代码(实验报告).doc_第2页
精品作业分享-OS-优先数调度算法源代码(实验报告).doc_第3页
精品作业分享-OS-优先数调度算法源代码(实验报告).doc_第4页
精品作业分享-OS-优先数调度算法源代码(实验报告).doc_第5页
资源描述:

《精品作业分享-OS-优先数调度算法源代码(实验报告).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《计算机操作系统》实验题目进程调度模拟程序实验形式小组合作□独立完成□设计目的(1)加深对进程、进程控制块及进程队列等概念的理解。(2)了解优先数和时间片轮转调度算法的具体实施办法,加深对进程管理各部分内容的理解。设计预备知识(1)进程管理。(2)优先数调度算法、时间片轮转算法。设计内容设计一个采用优先数调度算法(按优先数轮转)的模拟进程调度程序。设计具体包括:①确定进程控制块的内容和组织方式;②完成进程创建原语和进程调度原语;③编写程序及对所做工作进行测试。一、设计理论描述进程是进程实体的运行过程,是系统进

2、行资源分配和调度的一个独立单位。另有一种定义方法是“程序在处理器上的执行”。简单地说,进程包括三种状态:运行状态(Running)、就绪状态(Ready)、等待状态或阻塞状态(Blocked);严格地说,进程除了上面的三个状态,还有挂起就绪(Readya)和挂起等待(Blocked)等状态。进程控制块(PCB)的数据结构来记录进程的属性信息。PCB一般应包含以下信息:进程标识信息(本进程的标志ID、父进程的标志ID、用户标识);处理机状态信息(用户使用的寄存器、控制和状态寄存器、堆栈指针);进程调度和控制信息

3、(进程的状态、进程的调度优先级、程序和数据的地址、进程同步和通信机制、进程已等待时间、已使用的处理器时间、进程在有关队列中的链接指针、分给进程的主存大小和位置、进程使用的其他资源信息、进程得到有关服务的优先级、进程调度所需的其他信息)。进程调度算法:(1)先进先出调度算法(FIFO):按照进程的到达顺序调度进程,属于不可抢占策略。(2)优先级调度算法:按照进程的优先级大小来调度,是高优先级进程得到优先的处理的调度策略,可使用非抢占或可抢占两种策略。二、设计思想、设计分析及数据结构模型这个设计需要考虑三个问题:

4、如何组织进程、如何创建进程和如何实现处理机调度。考虑如何组织进程,首先就要设置进程控制块的内容。进程控制块PCB记录各个进程执行时的情况。一般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类:(1)标识信息每个进程都要有一个唯一的标识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。(2)说明信息用于记录进程的基本情况,例如,进程的状态、等待原因、进程

5、程序存放位置、进程数据存放位置等。设计中,因为进程没有数据和程序,仅使用进程控制块模拟进程,所以这部分内容仅包括进程状态。(3)现场信息现场信息记录各个寄存器的内容。当进程由于某种原因让出处理机时,需要将现场信息记录在进程控制块中,当进行进程调度时,从选中进程的进程控制块中读取现场信息进行现场恢复。现场信息就是处理机的相关寄存器内容,包括通用寄存器、程序计数器和程序状态字寄存器等。在设计中,可选取几个寄存器作为代表。用大写的全局变了量AX、BX、CX、DX模拟通用寄存器,大写的全局变量PC模拟程序计数器,大写

6、的全局变量PSW模拟程序状态字寄存器。(4)管理信息管理信息记录进程管理和调度的信息。例如进程优先数和进程队列指针等。设计中,仅包括队列指针。因此可将进程控制块结构定义如下:typedefstructnode{charname[10];/*进程标识符*/intprio;/*进程优先数*/intcputime;/*进程占用CPU时间*/intneedtime;/*进程到完成还要的时间*/charstate;/*进程的状态*/structnode*next;/*链指针*/}PCB;PCB*finish,*read

7、y,*run;/*队列指针*/intN;/*进程数*/确定进程控制块内容后,要考虑的就是如何将进程控制块组织在一起。多道程序设计系统,往往同时创建多个进程。在单处理机的情况下,每次只能有一个进程处于运行态,其他的进程处于就绪状态或等待状态。为了便于管理,通常把处于相同状态的进程的进程控制块链接在一起。单处理机系统中,正在运行的进程只有一个,因此,单处理机系统中进程控制块分成一个正在运行进程的进程控制块、就绪进程的进程控制块组织成的就绪队列和等待进程的进程控制块组成的等待队列。由于设计模拟的是进程调度,没有对等

8、待队列的操作,所以设计中只有一个指向正在运行进程的进程控制块指针和一个就绪进程的进程控制块队列指针。操作系统的实现中,系统往往在内存中划分出一个连续的专门区域存放系统的进程控制块,设计中应该用数组模拟这个专门的进程控制块区域,定义如下:#definenl0//假定系统允许进程个数为10structpcbpcbarea[n];//模拟进程控制块区域的数组这样,进程控制块的链表实际上是数据结构中使用的静

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

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

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