动态优先权进程调度算法模拟实验报告华北电力大学.doc

动态优先权进程调度算法模拟实验报告华北电力大学.doc

ID:59223704

大小:38.50 KB

页数:11页

时间:2020-09-09

动态优先权进程调度算法模拟实验报告华北电力大学.doc_第1页
动态优先权进程调度算法模拟实验报告华北电力大学.doc_第2页
动态优先权进程调度算法模拟实验报告华北电力大学.doc_第3页
动态优先权进程调度算法模拟实验报告华北电力大学.doc_第4页
动态优先权进程调度算法模拟实验报告华北电力大学.doc_第5页
资源描述:

《动态优先权进程调度算法模拟实验报告华北电力大学.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一﹑实验目的:通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。二﹑实验内容:(1)用VC++语言实现对N个进程采用某种进程调度算法(如动态优先权调度)的调度。(2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:²进程标识数ID。²进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。²进程已占用CPU时间CPUTIME。²进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。²进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。²

2、进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。²进程状态STATE。²队列指针NEXT,用来将PCB排成队列。(3)优先数改变的原则:²进程在就绪队列中呆一个时间片,优先数增加1。²进程每运行一个时间片,优先数减3。(4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。(5)分析程序运行的结果,谈一下自己的认识。三﹑设计思路和方法:本程序通过结构体来实现计算机的控制模组,由此构造一个PCB结构体,即

3、为进程控制块结构体,以此来记录当前进程的状态情况,包括PCB、调度信息、控制信息和处理机状态。运用C语言模拟调度算法,对构建的PCB进程进行调度和运行,以此来实现进程调度过程仿真,完成本实验的实验目标与要求。四﹑主要数据结构和算法:数据结构包括:PCB结构体包含进程信息的顺序表结构:typedefstruct{intID;//定义进程标识数intPRIORITY;//定义进程优先数intCPUTIME;//定义进程已占用CPU时间intALLTIME;//定义进程还需占用的CPU时间intSTARTBLOCK;//定义进程的阻塞时间intBLOCK

4、TIME;//定义进程被阻塞的时间intSTATE;//0-运行1-阻塞2-就绪3-结束4-未到达intREACH;//定义到达时间intTIME;//定义进程推进时刻}PROCESS;算法:优先权=(等待时间+要求服务时间)/要求服务时间Rp=(等待时间+要求服务时间)/要求服务时间=相应时间/要求服务时间计算机CPU将进程按照优先级的高低来排列,并规定一个时间片,当时间片用完后,CPU中断当前任务,下一优先级最高的进程。调度运行完成后的进程,其优先权会降低,同时,所有进程的优先级随着时间的增加或是进程的推进而增加。随着时间的推进,所有程序都会有

5、运行的机会,以此来完成用户的要求。五﹑程序代码和输出1、程序代码如下#include"iostream.h"#include"windows.h"//#defineN3typedefstruct{intID;//定义进程标识数intPRIORITY;//定义进程优先数intCPUTIME;//定义进程已占用CPU时间intALLTIME;//定义进程还需占用的CPU时间intSTARTBLOCK;//定义进程的阻塞时间intBLOCKTIME;//定义进程被阻塞的时间intSTATE;//0-运行1-阻塞2-就绪3-结束4-未到达intREACH;

6、//定义到达时间intTIME;//定义进程推进时刻}PROCESS;voidtextcolor(intcolor){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);}voidmain(){inti,time,max,l,l1,time1,flag=0,total=0,N,server[10],sum=0;PROCESSpro[10];textcolor(13);cout<<"注意:本程序中状态代表如下"<

7、ndl<>N;cout<<"请设置时间片长度:";cin>>time;cout<<"请输入各进程初始状态:"<>pro[i].ID>>pro[i].PRIORITY>>pro[i].RE

8、ACH;//输入第i个进程的进程标识数、优先数、到达时间cin>>pro[i].ALLTIME>>pro[i].START

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

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

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