


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录一、设计系统目的 1二、设计系貌要求 1三、系统分析 1四、系统设计 1五、程序设计流程图 5六、源程序清单 5七、调试过程中的问题及系统测试情况 121、谓试过程 122、系统测试结果 12八、系统设计总结 14一、设计系统目的本设计的目的是加深对进程概念及进程管理各部分内容的理解,熟悉进程管理中主要数据结构的设计及进程调度算法、进程控制机构、同步机构及通讯机构实施。二、设计杠要求设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进 程控制、同步与通讯机构,其进程调度算法可任意选择。每个进程用一个PCB表示,其内容根据具体情况设置。各进程之间有一定的同步关系可选。系统在运
2、行过程中应 能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系 统的管理过程。三、系统分析本系统宾现的功能有1 、进程控制和同步等可以控制进程的就绪执行和阻塞三种状态等基本功能。2 、进程调度调度算法采用的是先来先服务算法。3 、进程在运行过程中状态变化讷屏幕输出输出的内容包括一就绪的进程队列,当前cup正在执行的进程,被阻塞的进程队列。四、系统设计本系统所包括的数据结构是对列类本系统由于需要输出就绪队列,执行队列,阻塞对列,故需要利用对列来实现。 最好利用队列类来实现,这样可以充分利用类的继承来简化程序。队列类的定义如下class queue public:queue
3、():rear(NULL),fro nt(NULL);queue();void enq ueue( char &item);char dequeue。;void del(char item);void display。;int fin d(char item);int isempty()retur n fron t=NULL;private:queue node *fron t,*rear;队列类的析构函数为下queue:queue()queuenode * p;while(fro nt!=NULL)p=fron t;fr ont=fron t->li nk;delete p;队
4、列类的成员函数的定义如下:void queue:e nq ueue(char &item)if(fron t=NULL)fron t=rear =new queue no de(item,NULL);elserear=rear->li nk=new queue no de(item,NULL);char queue:dequeue()queue node *p=fr ont;char f=p->data;fron t=fr on t->li nk;delete p;return f;void queue:display()queue node *p;p=front;w
5、hile(p!=NULL)cout<<p->data<<"->"p=p->li nk;cout<<"NULL"queue:fi nd(char item)queue node *w;w=fro nt;M:while(w!=NULL)if(item=w->data)return 1;break;elsew=w->li nk;goto M;if(w=NULL)return 0;void queue:del( char item)queue node *q,*b;q=front;while(q-
6、>data!=item)b=q;q=q->li nk;if(q=fr ont)fron t=fr on t->li nk;delete q;elseif(q=rear)rear=b;rear->li nk=NULL;delete q;elseb->li nk=q->li nk;delete q;五、程序设计流程图六、源程序清单源程序如下#in clude<iostream.h>class queue;class queue no de定义队列的友类*/friend class queue; /*private:char data;queue no
7、de * link;queue node (char d=0,queue node * l=NULL): data(d),li nk(l);class queue/*定义队列类以利于执行就绪*/*阻塞队列的继承*/public:queue():rear(NULL),front(NULL); /*构造函数 */queue();void enq ueue( char &item);char dequeue。;void del(char item);void display。;int fin d(char item);int isempty()return fron t=NULL;/*判断队
8、列是否为空 */private:queue node *fron t,*rear; /*队列的头指针和指向下一结点的指针*/;queue:queue()/*定义析构函数*/queuenode * p;while(fro nt!=NULL)p=fron t;fr ont=fron t->li nk;delete p;void queue:enqueue(char &tem) /*定义入队列函数 */if(fron t=NULL)fron t=rear= new queue no de(item,NULL);elserear=rear->li nk=new queue no d
9、e(item,NULL);char queue:dequeue() /*出队列函数 */queue node *p=fr ont;char f=p->data;fr ont=fron t->li nk;delete p;return f;void queue:display()queuenode *p;p=front;while(p!=NULL)/*如果臥列非空输出数据并使指针指向*/*下一数据*/ cout<<p->data<<"->"p=p->li nk;cout<<"NULL"que
10、ue:fi nd(char item)/*查找队列中是否包含某值*/ queue node *w;w=front;M:while(w!=NULL)if(item=w->data) retur n 1;break;else w=w->li nk;goto M; if(w=NULL)删除某值的函数*/return 0;void queue:del( char item) /* queue node *q,*b;q=front;while(q->data!=item)b=q;q=q->li nk;if(q=fr ont)front=fron t->li nk; dele
11、te q;elseif(q=rear)rear=b;rear->li nk=NULL;delete q;else b->li nk=q->li nk;delete q;void mai n()int n;char a;cout<<"n*进程管理小模拟系统*n"< <e ndl;queue zhix in g,jiuxu,zuse;cout<<"n* 注意:* n1.若想结束输输入遼程名入 请输入Ro n2.本模拟系统进程谓虞采用的是先来先服参笄迭 的顺序即为到达cpu的顺序n"<<endl
12、;char r;r='R'for(i nt i=O;i+)char e100;cout<<"输入进程名:"<<""cin> >ei;if(ei!=r)jiuxu.e nqueue(ei);/*将输入插入就绪队列*/elsebreak;A: cout«"n请选择操件1、执行进程2、将阻塞队列申迸程调入就绪臥列封锁进程4、结束进程5、退出程序。"cin»n;if(n=1)if(!zhixi ng.isempty ()cout<<"已经有进程在执讦
13、,此操作不能执行n"char w;cout<<e ndl;cout<<"如果要继续请输入#如黑要竈出按其它任意键"<<endl;cout<<"要选择的操作:"cin> >w;if(w='#')goto L;/*无条件转移至 L*/elsegoto E;elseif(!jiuxu.isempty() a=jiuxu.dequeue();if(a!=r)zhix in g.e nq ueue(a); goto L;elsegoto L;elseif(n=2)if(!zuse
14、.isempty()a=zuse.dequeue (); if(a!=r) jiuxu.e nq ueue(a); goto L;elsegoto L;elseif(n=3)if(!zhixi ng.isempty()a=zhix in g.dequeue ();if(a!=r) zuse.e nq ueue(a);goto L;elsegoto L;elseif(n=4)cout<<"n请输入要结朿的进程名"cin> >a;查找所有队列中if(zhix in g.fi nd (a)|jiuxu.fi nd (a)|zuse.fi nd (a)/*是
15、否含*/*有a若有结束进程a*/if(zhix in g.fi nd(a)zhix in g.del(a);elseif(jiuxu.fi nd(a)jiuxu.del(a);if(zuse.fi nd(a)zuse.del(a);cout<<"n结束进程成功n"<<e ndl;goto L;elsecout<<"没有此进程"<<endl;goto L;L:cout<<"执行队列"<<endl; zhixi ng.display();cout<<e n
16、dl;cout<<"就绪队列"<<endl; jiuxu.display();cout<<e ndl;cout<<"阻塞队列"<<endl; zuse.display();cout<<e ndl; goto A;elseif(n=5);elsegoto A;E:;七、调试过程中的问题及系统测试情况调试时一开始老是出错,尤其是c语言和VC+有区别的地方。比如类的定义后要加分号,而函数的定义则不用。在调试时,有时候出现警告信息,有时在调试的过程中,候没有。可能是因为机房和宿舍的编译器的版
17、本不同导致的吧。出现的问题不是很多, 主要是因为本系统采用的数据结构比较少,而且进程调度算法是先来先服务算法, 用程序比较容易实现。 若用高响应比优先等算法, 估计难度会比这大。2、系统测试结果进入系统,首先系统会有提示信息,提示信息如下:.若酿輔.A诵礼良】#剛系竝塑财朋匪硫糕頁占紀潤註SJ.MP牺込曲聽按系统的提示输入数据以后,输入结束符按enter键后系统如下图所示:ARCTLyc E :抚5:5:5:兮?: 口 工口I口I-口iop- I壬-c_4 -_-:_二 Hrn mm-7 AAAAAAA議禪作L WifiS監雜畫鮎I中进翩A觀厲監對趣 I、縣麹 匚逛丢麻如上图所示,如果我们输入
18、1按Enter键以后结果如下图所示,以此类推,按入其他的数字进行其他操作:1榊囲A-XL梆顶MILawir 1、晰瞩缶第摊猷満觀缶她肺l淋瞒5、堪岀樹札2kw.A-?JULL血£.卜炉甲-沿HU删列MU楼禱1 斯理久弔缠M沖惟雕1®列3-4.韓理久酣齢*姉砸MilS-X-.'D- E- mA-MULliSSfr i*師孵 扛朋郵冈中删册M 3.StW 畀緘擁显世帼?°碱WM雌名E,级溜肚ui滋鴉卜XWI杓带科DllVML一由左楼2、般事訥申昶畳删沏久掰綾丄騷超凳趾斑為<翎V蘇珅需G彝嗣)蛹删m猗冏卿別J-W1ffiSffiW :、站帰1.删侧mWRf
19、l人哪艇 彌趨5,魁隔氏>tws WT to ;QC:iTE3八、系统设计总结通过这次课程设计,使我们对操作系统有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的实践才能更好地学习它,我们也发现我们的好多不足之处,通过学习也有所改进;因为是亲自在做,所以每一步比起学习理论知识更管用多了。在做的过程中,不 光是收获本课的知识,也了解了不少计算机的一些我们不太会关注的东西。如什么叫进程, 它是如何工作的,为什么会有它的产生呢!平时,我们都知道计算机会莫名其妙的很卡,那是因为什么呢?就是因为进程,是因为我们打开的软件太多了,我们都知道计算机不是同时一起对所有运行界面一起实现,而是它在用很快速的速度对我们操作的那一块出现的执行, 这种速度可以让我们感觉到是同时在运作的。作为学习这个专业的学生,我觉得这些认识都是我们最基本的,所以深入学习进程如何管理和工作情况是必须的。再有就是对操作系统的一些系统调用不太了解,还有对操作系统中经常出现的错误也不了解,所以在以后的学习过程中,我们会更加注视实践操作。在课程设计过程中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新开课管理办法
- 农村健康管理办法
- 交叉审核管理办法
- 内部欺诈管理办法
- 医院收费管理办法
- 协会成立管理办法
- 农用农膜管理办法
- 安全岗管理办法
- 用餐卡管理办法
- 农村债务管理办法
- 五升六小学数学(暑假口算每日一练)
- 浙江国企招聘2025宁波慈溪市国有企业公开招聘工作人员130名笔试参考题库附带答案详解
- 护理人文关怀培训课件
- 中国专用车行业发展前景预测及投资战略研究报告
- 烹饪职业道德课件
- 烤烟栽培技术课件
- 2025至2030中国一次性拖鞋行业市场深度研究及发展前景投资可行性分析报告
- 露天矿急救自救互救培训
- 福建医科大学《英语视听(3)》2023-2024学年第一学期期末试卷
- 生命体征培训
- 无废城市培训
评论
0/150
提交评论