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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(《操作系统课程设计》报告范本.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《操作系统课程设计》报告范本.docx

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

2、实现及文档的收集和整理。三、实验方法与设计分析每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Rn)、或完成(Fiis)三种状态之一。就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占

3、用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待U。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止四、程序流程图 是五、程序源代码#iclude saf.h#iclud #include tdlib.h#inclde sting.#inclde cpe.#include #iclude treamusig namespace std;fstam f(bb.txt,ios::app|:unc);tpedef ructnode nme10;*进程

4、名*/ intrond; /进程分配的时间片* int cputme; *进程消耗的U时间/ int neetime; /*进程需要的CUP时间*/ incunt; /进程运行时间* casae; *进程的状态:R:运行,:等待,:结束/ truct node *nxt;/*指向下一个进程的指针*/ CB;B*inish,*ready,*il,*u;/*指向三个队列的队首的指针,tai为就绪队列的队尾指针*/int N;*定义进程的数目*/ odfirin(void) if(reay!=NULL) run=red; ady=red-x; ru-sta=; un-nt=NUL; le ruULL

5、; void prt1(car )coutnme uie needim cout run statendl;yfileame;myfile cputie;myfile neeime; myile coun ;myfle rond;yfie staend; vod prt(car a,PC*p)cout-ae putime nedtecoun -rounstateedl;filenaecputime ;myflneedtime ; myilecot ;myfileround ;miletatet; p=fish; while(!=ULL) t2(algo,); p-x; ghar();voidn

6、ser(PB *) til-exq; ail=q; -nt=NULL;vid rceate_task(charalo) PC *; nt n,e;c na; rady=NULL; inih=ULL; run=NULL; ut请输入进程数目N:; ciN; fr(n=0;nN;n+) p=(CB)alloc(izef(PCB); coutEtr th n of proces:n; coutEnr te time o pocess:ime; srcp(p-nam,na); p-cputime0; p-needtime=tme; p-count=0; p-ae=W; run2; if(ray!=L)

7、 inset(p); s p-next=ead; edy=p; til=; uneay; reaready-net; run-sate=; ou创建成功。und) runcount=0; f(ady!=NUL) runte=W; inst(run); firstn(); prt(lgo);voi ronrun(char alo) whi(rn!NLL) un-cputie=runpuie1; ru-nedtie=un-eetime-1; run-out=run-cou1; if(run-nedime=0) next=finsh; fnh=ru; un-stae=; n=NUL; if(read

8、y!=NULL) firstn(); ele (rn-out=runroud) u-cont0; i(rea!=NUL) run-sate=; iser(ru); rtin(); prt(alg); vid cdan()co*主页*edl; cut*1I 创建若干进程*endl; cout*2.C 进程进行查看*end; cout*3.O 进程进行调度*end; cout*4. 结束 *algo; f(algo=i|algo=I) rcreate_task(algo); eseif(alo=c|algo=C) chakan(go); le if(alg=o|alo=) rndrun(algo)

9、;se i(algoh|lg=H)goo oo2;oto lp1;loop2: y();trn 0;六、运行结果七、问题及解决方法 (1) 处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优先数就减“1”。由于本实习是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行(2)进程运行一次后,若要求运行时间,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退出队列。() 若“就绪”状态的进程队列不为空,则重复上面(1)和(2)的步骤,直到所有进程都成为“结束”状态。(4)在所设计的程序中应有显示或打印语

10、句,能显示或打印每次被选中进程的进程名以及运行一次后进程队列的变化。()为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。八、心得体会操作系统是计算机系统中必不可少的系统软件。它是计算机系统中各种资源的管理者和各种活动的组织者、指挥者。操作系统采用时间片法调度进程,使系统资源得到充分的利用,用户也可以花更少的时间完成更多的工作,这次模拟系统调度进程,让我明白了系统时间片的调度方法,对操作系统理论的学习更加深一层。通过这次的课设也让我充分的体会到了要真正的理解计算机操作系统的工作原理应该多上机做试验和操作,这样才能领悟的更深更好。或许程序完成的有点粗糙但是也花了一些心里,感觉自己还时弄懂了它的实现过程,以前觉得操作系统都时些理论上的东西对于具体的实践说实话还确实没怎么弄过。所以这次的课程设计让我学到了更多的东西。

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

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