操作系统实验——动态优先级进程调度实验报告.doc

操作系统实验——动态优先级进程调度实验报告.doc

ID:60836476

大小:655.50 KB

页数:19页

时间:2020-12-21

操作系统实验——动态优先级进程调度实验报告.doc_第1页
操作系统实验——动态优先级进程调度实验报告.doc_第2页
操作系统实验——动态优先级进程调度实验报告.doc_第3页
操作系统实验——动态优先级进程调度实验报告.doc_第4页
操作系统实验——动态优先级进程调度实验报告.doc_第5页
资源描述:

《操作系统实验——动态优先级进程调度实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.实验名称:动态优先权调度过程中就绪队列的模拟2.实验要求:采用动态优先权的进程调度算法,用C语言编程模拟调度过程中每个时间片内的就绪队列。3.实验内容:(1)每个进程控制块PCB用结构描述,包括以下字段:*进程标识符id*进程优先数priority,并规定优先数越大的进程,其优先权越高。*进程已占用的CPU时间cputime*进程还需占用的CPU时间alltime,当进程运行完毕时,aiitime变为0*进程的阻塞时间startblock,当进程再运行startblock个时间片后,进程将进入阻塞状态*进程被阻塞的时间blocktime,已阻塞的进程再等待

2、blocktime个时间片后,将转换成就绪状态*进程状态state*队列指针next,将PCB排成队列。(2)调度前,系统中有五个进程,它们的初始状态如下:ID01234PRIORITY93830290CPUTIME00000ALLTIME33634STARTBLOCK2-1-1-1-1BLOCKTIME30000STATEREADYREADYREADYREADYREADY(3)进程在就绪队列呆一个时间片,优先数增加1。(4)进程每运行一个时间片,优先数减3。(5)按下面格式显示每个时间片内就绪队列的情况:READY_QUEUE:->id1->id21.任务分

3、析进程控制块用结构体来表示,包含它的各项属性。建立两个队列:一个就绪队列,一个阻塞队列。创建一个进程控制块表示当前正在运行的进程。程序开始运行时,所有进程都在就绪队列中。当startblock减少到0时,进程进入阻塞队列。在阻塞队列中的进程,当blocktime减少到0时,转入就绪队列。在就绪队列中的进程,如果优先级比当前正在执行的进程高,就可以取代当前进程获取时间片。当前进程如果运行完毕,就绪队列中优先级最高的进程就可以成为新当前进程。1.程序流程图1.程序清单#include#includeusingnamespaces

4、td;#defineLEN5//进程最大数量typedefenumSTATE//进程状态{READY,//就绪BLOCK,//阻塞END//完成}STATE;//定义进程控制块typedefstructPCB{intid;//进程标识符intpriority;//进程优先级intcputime;//已占用的CPU时间intalltime;//还需占用的CPU时间intstartblock;//阻塞时间intblocktime;//被阻塞时间STATEstate;//进程状态}PCB;//定义队列typedefstructqueue{intsize;//队列中进

5、程的数量PCB*data[LEN];//进程的指针}Queue;PCBps[LEN];//进程数组PCB*cp;//当前正在运行的进程QueuerQueue,bQueue;//就绪队列和阻塞队列//就绪队列按优先级降序排序(使用了冒泡排序法)voidrQueueSort(){PCB*temp;for(inti=0;iprioritypriority){temp=rQueue.da

6、ta[j];rQueue.data[j]=rQueue.data[j+1];rQueue.data[j+1]=temp;}}}}//初始化voidinit(){//给进程赋值for(inti=0;i

7、4].priority=0;ps[2].alltime=6;ps[4].alltime=4;ps[0].startblock=2;ps[0].blocktime=3;cp=NULL;//当前进程赋空bQueue.size=0;//阻塞队列没有进程for(inti=0;i

8、!=NULL){cout<i

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

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

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