收藏 分销(赏)

操作系统课程设计报告进程管理.doc

上传人:二*** 文档编号:4544941 上传时间:2024-09-27 格式:DOC 页数:20 大小:227KB
下载 相关 举报
操作系统课程设计报告进程管理.doc_第1页
第1页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、. .操作系统课程设计报告题 目:专 业: 班 级: 姓 名: 学 号: 指导教师: 年 月 日?操作系统?课程设计任务书一、课程设计题目任选一个题目1.模拟进程管理2.模拟处理机调度3.模拟存储器管理4.模拟文件系统5.模拟磁盘调度二、设计目的和要求1.设计目的?操作系统原理?课程设计是计算机科学与技术专业实践性环节之一,是学习完?操作系统原理?课程后进展的一次较全面的综合练习。其目的在于加深对操作系统的理论、法和根底知识的理解,掌握操作系统构造、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,培养学生的系统设计能力,并了解操作系统的开展动向和趋势。2.根本要求:(1)选择课程设

2、计题目中的一个课题,独立完成。(2)良好的沟通和合作能力(3)充分运用前序课所学的软件工程、程序设计、数据构造等相关知识(4)充分运用调试和排错技术(5)简单测试驱动模块和桩模块的编写 (6)查阅相关资料,自学具体课题中涉及到的新知识。(7)课题完成后必须按要求提交课程设计报告,格式规,容详实。三、设计容及步骤1.根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么。2.根据实现的功能,划分出合理的模块,明确模块间的关系。3.编程实现所设计的模块。4.程序调试与测试。采用自底向上,分模块进展,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或

3、绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;5.结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。6.编写课程设计报告;设计报告和实验报告要求:A4纸和实验报告册,详细设计局部主要表达本人的工作容设计报告的格式:(1)封面题目、指导教师、专业、班级、XX、学号(2)设计任务书(3)目录(4)需求分析(5)概要设计(6)详细设计含主要代码(7)调试分析、测试结果(8)用户使用说明(9)附录或参考资料四、进度安排设计在第四学期的第1-18共18课时进展,时间安排如下:序号 容时间课时1系统分析22设计43编码、测试104验收2合计1

4、8五、成绩评定方法成绩分为优A、良B、中C、及格D、不及格E五个等级。其中设计表现占30%,验收40%,设计报告占30%。1.设计表现:教师可依据学生使用实验环境的能力、观察和分析实验现象的能力、实验结果和数据的正确性以及学生的课堂纪律、实验态度、保持实验室卫生等面的表现进展综合考核。2.验收:要求学生演示设计的程序,讲解设计思路、法、解决的主要问题,教师根据具体情况向每个学生提问2至3个问题。3.设计报告:学生设计后应按时完成设计报告和实验报告。要求:容充实、写作规、工程填写正确完整、书面整洁等。目录一、 需求分析61.进一步理解进程的根本概念62.加强进程管理的设计及算法 63.观察和管理

5、进程6二、 概要设计61实验原理62数据构造63.算法描述64.算法流程图7三、 详细设计81源程序代码8四、调试分析及测试结果15五、用户及用说明17六、附录或参考资料17一、需求分析1.进一步理解进程的根本概念。2.加强进程管理中主要数据构造的设计及进程调度算法。3.观察和管理进程系统在运行过程中可显示或打印各进程的状态及有关参数的变化情况。二、概要设计1实验原理定义PCB的数据构造,用链表的形式管理进程,采用多级反响队列调度的算法模拟进程的控制,最终完成有创立、撤销、调度、阻塞、唤醒进程等功能。2数据构造类:class queuenodeclass queue函数:void enqueu

6、e( char &item);char dequeue();void del(char item);void display();int find(char item);int isempty()3.算法描述1-1、创立进程,根据进程的顺序依次放入就绪队列。2-1、执行进程管理系统将就绪队列中的第一个进程调入运行队列;2-2、将阻塞队列中进程调入就绪队列;2-3、封锁进程管理系统将就绪队列中的第一个进程调入阻塞队列;2-4、完毕进程管理系统撤销所选进程;2-5、完毕程序。4.算法流程图输入进程信息执行进程将阻塞队列的进程调入就绪队列封锁进程完毕进程退出操作输入要进展操作的功能选项12345进展

7、所选进程操作选1且进程正在执行Y操作不能执行选择#NNN选择5YY开场完毕三、详细设计1源程序代码#includeclass queuenodefriend class queue;private:char data;queuenode * link;queuenode (char d=0,queuenode * l=NULL): data(d),link(l);class queuepublic:queue():rear(NULL),front(NULL);queue();void enqueue( char &item);char dequeue();void del(char item)

8、;void display();int find(char item);int isempty()return front=NULL;private:queuenode *front,*rear;queue:queue()queuenode * p;while(front!=NULL)p=front;front=front-link;delete p;void queue:enqueue(char &item)if(front=NULL)front=rear=new queuenode(item,NULL);else rear=rear-link=new queuenode(item,NULL

9、);char queue:dequeue()queuenode *p=front; char f=p-data;front=front-link;delete p;return f;void queue:display()queuenode *p;p=front;while(p!=NULL)coutdata; p=p-link;coutdata) return 1;break; elsew=w-link;goto M;if(w=NULL) return 0;void queue:del( char item) queuenode *q,*b; q=front; while(q-data!=it

10、em) b=q;q=q-link; if(q=front) front=front-link; delete q; else if(q=rear) rear=b;rear-link=NULL;delete q; else b-link=q-link; delete q;void main()int n;char a;coutn-操作系统之进程管理模拟系统先来先效劳算法-nendl;queue execute,ready,clog; /执行,就绪,阻塞coutn-请用户输入进程名及其到达cpu的顺序完毕进程数请输入x-nendl; char r;r=x;for(int i=0;i+) char

11、e100;cout输入进程名:ei;if(ei!=r)ready.enqueue(ei);elsebreak;A: coutn -请学号用户XX选择操作-n; coutn 1、执行进程2、将阻塞队列中进程调入就绪队列n; coutn 3、封锁进程4、完毕进程 n; coutn; if(n=1) if(!execute.isempty () cout已经有进程在执行!,此操作不能执行n; char w; coutendl; cout如果要继续请输入#;如果要退出按其它任意键endl; coutw; if(w=#)goto L; else goto E; else if(!ready.isempt

12、y() a=ready.dequeue(); if(a!=r) execute.enqueue(a); goto L; else goto L; else if(n=2) if(!clog.isempty() a=clog.dequeue (); if(a!=r) ready.enqueue(a); goto L; else goto L; else if(n=3) if(!execute.isempty() a=execute.dequeue (); if(a!=r) clog.enqueue(a); goto L; else goto L; else if(n=4) couta; if(e

13、xecute.find (a)|ready.find (a)|clog.find (a) if(execute.find(a) execute.del(a); else if(ready.find(a) ready.del(a); if(clog.find(a) clog.del(a); coutn完毕进程成功!nendl; goto L; else cout没有此进程endl; goto L; L: if(n=1|n=2|n=3|n=4) cout执行队列endl; execute.display(); coutendl; cout就绪队列endl; ready.display();cout

14、endl; cout阻塞队列endl; clog.display();coutendl; goto A; else if(n=5); else coutn你的输入错误!n; goto A; E:; 四、调试分析及测试结果五、用户使用说明用户通过VC+即可运行改程序。需说明的是主函数是实现进程管理的入口,在入口处需输入进程名称,然后输入进程的状态选项,如果完毕后,那么通过相应的调度算法进展进程机的调度,同时也将结果显示在屏幕上。本次实验通过模拟多个进程的同步运行,实现了进程就绪,运行,阻塞三个状态的转换,并可以根据用户要求改变进程的状态。六、附录及参考资料1红 ,?操作系统实训?,中国水利水电,20052红光,?UNIX操作系统试验教程?,机械工程,20063史美林,?操作系统教程?,清华大学,20064殷兆麟,?计算机操作系统?,大学,20075蔚敏,?数据构造C语言版?,清华大学,2007. .word.zl.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 操作系统相关

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服