用时间片轮转法调度虚拟进程_第1页
用时间片轮转法调度虚拟进程_第2页
用时间片轮转法调度虚拟进程_第3页
用时间片轮转法调度虚拟进程_第4页
用时间片轮转法调度虚拟进程_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 操作系统课程设计报告学 号:姓 名:班 级:指导教师师:报告日期期:PAGE 2一、课设设目的通过对操操作系统统课程的学习,熟悉进进程的概概念、进进程的管管理与存存储、进进程的调调度,通通过实践践深入理理解进程程的调度度算法。二、课设设任务要求编写写一个程程序,可可以创建建若干个个虚拟进进程,并并对若干干个虚拟拟进程进进行调度度,调度度策略为为时间片片轮转法法,主要要任务包包括: 进程的的个数,进程的的内容(即进程程的功能能序列)来源于于一个进进程序列列描述文文件,另另外调度度运行结结果输出出到一个个运行日日志文件件; 设计PPCB适适用于时时间片轮轮转法; 建立进进程队列列; 实现

2、时时间片轮轮转调度度算法,尽量可可视化的的展示调调度的动动态过程程。eq oac(,5) 总总结程序序设计的的开发过过程:需需求分析析、系统统设计、系统实实现及文文档的收收集和整整理。三、实验验方法与与设计分分析每个进程程有一个个进程控控制块( PCCB)表表示。进进程控制制块可以以包含如如下信息息:进程程名、优优先数、到达时时间、需需要运行行时间、已用CCPU时时间、进进程状态态等等。进程的优优先数及及需要的的运行时时间可以以事先人人为地指指定(也也可以由由随机数数产生)。进程程的到达达时间为为输入进进程的时时间。进程的运运行时间间以时间间片为单单位进行行计算。每个进程程的状态态可以是是就绪

3、 W(WWaitt)、运运行R(Runn)、或或完成FF(Fiinissh)三三种状态态之一。就绪进程程获得 CPUU后都只只能运行行一个时时间片。用已占占用CPPU时间间加1来来表示。如果运行行一个时时间片后后,进程程的已占占用 CCPU时时间已达达到所需需要的运运行时间间,则撤撤消该进进程,如如果运行行一个时时间片后后进程的的已占用用CPUU时间还还未达所所需要的的运行时时间,也也就是进进程还需需要继续续运行,此时应应将进程程的优先先数减11(即降降低一级级),然然后把它它插入就就绪队列列等待CCPU。每进行一一次调度度程序都都打印一一次运行行进程、就绪队队列、以以及各个个进程的的 PCC

4、B,以以便进行行检查。重复以上上过程,直到所所要进程程都完成成为止四、程序序流程图图开始设置时间片选择增加进程 是是结束进程PCB顺序继续增加调度进程结束打印进程PCB顺序循环五、程序序源代码码#inccluddesstdaafx.h#inccludde#inccludde#inccludde#inccludde#inccludde#inccluddeusinngnaamesspacce sstd;ofsttreaam mmyfiile(bbb.txxt,ioss:aapp|ioos:truunc);typeedeffstrructt noode charr naame10;/*进程名名*/i

5、nt rouund; /*进程分分配的时时间片*/int cpuutimme; /*进程消消耗的CCUP时时间*/int neeedtiime; /*进程需需要的CCUP时时间*/int couunt; /*进程运运行时间间*/charr sttatee; /*进程的的状态:R:运行行,WW:等等待,F:结束*/struuct nodde *nexxt;/*指向向下一个个进程的的指针*/PCBB;PCB *fiinissh,*reaady,*taail,*ruun;/*指向向三个队队列的队队首的指指针,ttaill为就绪绪队列的的队尾指指针*/int N;/*定义义进程的的数目*/voidd

6、fiirsttin(voiid)if(rreaddy!=NULLL) rrun=reaady; rreaddy=rreaddy-nexxt; rrun-sttatee=RR; rrun-neext=NULLL; elsee ruun=NNULLL; voidd prrt1(chaar aa)couutnaame cpputiime neeedttimee coountt rrounnd sstatteenndl;myffileenamme ;myyfille cpputiime;myyfille nneeddtimme;myyfille coountt ;myffilee rouund;myy

7、fille sttateeenddl; voidd prrt2(chaar aa,PCCB *p) couutnamme cpputiime neeedtiime coountt rrounnd sstatteenddl;myffileennamee ;mmyfiilecpputiime ;mmyfiileneeedttimee ;myyfillecouunt ;myffileerrounnd ;myyfillestaatennextt; p=finnishh;whille(pp!=NNULLL) pprt22(allgo,p); pp=p-neext; geetchhar();voidd i

8、nnserrt(PPCB *q) taiil-nexxt=qq; taiil=qq; q-nexxt=NNULLL; voidd rccreaate_tassk(ccharr allgo) PCCB *p;int n,ttimee;charr naa100; reeadyy=NUULL; fiinissh=NNULLL; ruun=NNULLL; cooutN;for(n=00;nN;nn+) p=(PCCB*)malllocc(siizeoof(PPCB); cooutEEnteer tthe namme oof pproccesss:na; cooutEEnteer tthe timme

9、oof pproccesss:timme; sttrcppy(pp-nnamee,naa); p-cpputiime=0; p-neeedttimee=tiime; p-coountt=0; p-sttatee=WW; p-rooundd=2;if(rreaddy!=NULLL) iinseert(p); elsee p-nexxt=rreaddy; reaady=p; taiil=pp; runn=reeadyy; reaady=reaady-neext; runn-sstatte=R; couut创建成成功。coountt=rrun-rooundd) runn-ccounnt=00; if

10、(rreaddy!=NULLL) rrun-sttatee=WW; iinseert(runn); ffirsstinn(); prtt(allgo);voidd roounddrunn(chhar alggo)whille(rrun!=NUULL) ruun-cpuutimme=rrun-cpputiime+1; ruun-neeedtiime=runn-nneeddtimme-11; ruun-couunt=runn-ccounnt+11;if(rrun-neeedttimee=00) runn-nnextt=fiinissh; finnishh=ruun; runn-sstatte=F;

11、 runn=NUULL;if(rreaddy!=NULLL) ffirsstinn(); elsee if(rrun-coountt=rrun-rooundd) ruun-couunt=0; if(rreaddy!=NULLL) rrun-sttatee=WW; iinseert(runn); ffirsstinn(); pprt(alggo); voidd caaidaan() coout*主页页*enddl; coout*1.II 创建建若干进进程*eendll; coout*2.CC 进程程进行查查看*eendll; coout*3.OO 进程程进行调调度*eendll; coout*4

12、.HH 结结束 *aalgoo;if(aalgoo=i|allgo=II) rrcreeatee_taask(alggo); elseeif(aalgoo=c|allgo=CC) chaakann(allgo); elseeif(aalgoo=o|allgo=OO)roounddrunn(allgo);elseeif(aalgoo=h|allgo=HH)gotoo looop22;gotoo looop11;loopp2: myffilee.cllosee();retuurn 0;六、运行行结果七、问题题及解决决方法 (1) 处理理器调度度总是选选队首进进程运行行。采用用动态改改变优先先数的办

13、办法,进进程每运运行一次次优先数数就减“1”。由由于本实实习是模模拟处理理器调度度,所以以,对被被选中的的进程并并不实际际的启动动运行,而是执执行(2) 进程运运行一次次后,若若要求运运行时间间0,则再再将它加加入队列列(按优优先数大大小插入入,且置置队首标标志);若要求求运行时时间=00,则把把它的状状态修改改成“结束”(E),且且退出队队列。(3) 若“就绪”状态的的进程队队列不为为空,则则重复上上面(11)和(2)的步步骤,直直到所有有进程都都成为“结束”状态。(4) 在所设设计的程程序中应应有显示示或打印印语句,能显示示或打印印每次被被选中进进程的进进程名以以及运行行一次后后进程队队列的变变化。(5) 为五个个进程任任意确定定一组“优先数数”和“要求运运行时间间”,启动动所设计计的处理理器调度度程序,显示或或打印逐逐次被选选中进程程的进程程名以及及进程控控制块的的动态变变化过程程。八、心得得体会操作系统统是计算算机系统统中必不不可少的的系统软软件。它它是计算算机系统统中各种种资源的的管理者者和各种种活动的的组织者者、指挥挥者。操操作系统统采用时时间片法法调度进进程,使使系统资资源得到到充分的的利用,用户也也可以花花更少的的时间完完成更多多的工作作,这次次模拟系系统调度度进程,让我明明白了系系统时间间片的调调度方法法,对操操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论