ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:29.41KB ,
资源ID:14604098      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14604098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(时间管理用时间片轮转法调度虚拟进程Word文档下载推荐.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

时间管理用时间片轮转法调度虚拟进程Word文档下载推荐.docx

1、进程控制块能够包含如下信息:进程名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等。进程的优先数及需要的运行时间能够事先人为地指定(也能够由随机数产生)。进程的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态能够是就绪 W(Wait)、运行 R(Run)、或完成 F(Finish)三种状态之壹。就绪进程获得 CPU 后均只能运行壹个时间片。用已占用 CPU 时间加 1 来表示。如果运行壹个时间片后,进程的已占用 CPU 时间已达到所需要的运行时间,则撤消该进程, 如果运行壹个时间片后进程的已占用 CPU 时间仍未达所需要的运行时间,也就是进程仍需

2、要继续运行,此时应将进程的优先数减 1(即降低壹级),然后把它插入就绪队列等待 CPU。每进行壹次调度程序均打印壹次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复之上过程,直到所要进程均完成为止四、程序流程图设置时间片是 五、程序源代码#includestdafx.h#includestdlib.hstring.hctype.hiostreamfstream usingnamespacestd;ofstreammyfile(bb.txt,ios:app|ios:trunc); typedefstructnodecharname10;/*进程名*/intround;/*进程分配的

3、时间片*/intcputime;/*进程消耗的CUP时间*/intneedtime;/*进程需要的CUP时间*/intcount;/*进程运行时间*/charstate;/*进程的状态:R运行,W:等待,F结束*/structnode*next;/*指向下壹个进程的指针*/PCB;PCB*finish,*ready,*tail,*run;/*指向三个队列的队首的指针,tail为就绪队列的队尾指针*/intN;/*定义进程的数目*/ voidfirstin(void)if(ready!=NULL)run=ready; ready=ready-next; run-state=;next=NULL;

4、elserun=NULL;voidprt1(chara)coutnamecputimeneedtimecountroundstateendl; myfilemyfilenamecputimeneedtimecountroundstatep=finish;getchar();voidinsert(PCB*q)tail-next=q; tail=q;q-voidrcreate_task(charalgo) intn,time; charna10; ready=NULL; finish=NULL; run=NULL;请输入进程数目N: cinN;for(n=0;nn+)p=(PCB*)malloc(

5、sizeof(PCB); coutname,na); p-cputime=0;needtime=time;count=0;round=2;insert(p);next=ready; ready=p; tail=p;创建成功。voidchakan(charalgo)if(run-count=run-round)run- if(ready! insert(run); firstin();prt(algo);voidroundrun(charalgo)while(run!cputime=run-cputime+1;needtime=run-needtime-1;count=run-count+1;

6、if(run-needtime=0)next=finish; finish=run;firstin();voidcaidan()*主页*1.I创建若干进程*2.C进程进行查见*3.O进程进行调度*4.H结束*intmain()loop1:caidan(); charalgo;algo;if(algo=i|algo=I)rcreate_task(algo);elseif(algo=cCchakan(algo);oOroundrun(algo);hHgotoloop2;gotoloop1; loop2: my(); return0;六、运行结果七、问题及解决方法(1)处理器调度总是选队首进程运行。

7、采用动态改变优先数的办法,进程每运行壹次优先数就减“1”。由于本实习是模拟处理器调度,所以,对被选中的进程且不实际的启动运行,而是执行(2)进程运行壹次后,若要求运行时间0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退ft队列。(3)若“就绪”状态的进程队列不为空,则重复上面(1)和(2)的步骤,直到所有进程均成为“结束”状态。(4)于所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行壹次后进程队列的变化。(5)为五个进程任意确定壹组“优先数”和“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐

8、次被选中进程的进程名以及进程控制块的动态变化过程。八、心得体会操作系统是计算机系统中必不可少的系统软件。它是计算机系统中各种资源的管理者和 各种活动的组织者、指挥者。操作系统采用时间片法调度进程,使系统资源得到充分的利用, 用户也能够花更少的时间完成更多的工作,这次模拟系统调度进程,让我明白了系统时间片的调度方法,对操作系统理论的学习更加深壹层。通过这次的课设也让我充分的体会到了要真正的理解计算机操作系统的工作原理应该多上机做试验和操作,这样才能领悟的更深更好。或许程序完成的有点粗糙可是也花了壹些心里,感觉自己仍时弄懂了它的实现过程,以前觉得操作系统均时些理论上的东西对于具体的实践说实话仍确实没怎么弄过。所以这次的课程设计让我学到了更多的东西。知识改变命运

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1