欢迎来到天天文库
浏览记录
ID:5888620
大小:85.69 KB
页数:10页
时间:2017-12-27
《中南大学操作系统课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中南大学本科生课程设计(实践)任务书、设计报告(计算机操作系统课程设计)题目调度算法的模拟学生学号学生姓名指导教师学院信息科学与工程学院专业班级指导老师2013年12月一、实验任务1.进一步理解进程的基本概念。2.加强进程管理中主要数据结构的设计及进程调度算法。3.观察和管理进程——系统在运行过程中可显示或打印各进程的状态及有关参数的变化情况。二、实验设计思想1.实验原理定义PCB的数据结构,用链表的形式管理进程,采用多级反馈队列调度的算法模拟进程的控制,最终完成有创建、撤销、调度、阻塞、唤醒进程等功能。2.数据结构类:classqueuenodec
2、lassqueue函数:voidenqueue(char&item);chardequeue();voiddel(charitem);voiddisplay();intfind(charitem);intisempty()3.算法描述1-1、创建进程,根据进程的顺序依次放入就绪队列。2-1、执行进程——管理系统将就绪队列中的第一个进程调入运行队列;2-2、将阻塞队列中进程调入就绪队列;2-3、封锁进程——管理系统将就绪队列中的第一个进程调入阻塞队列;2-4、结束进程——管理系统撤销所选进程;2-5、结束程序。4.算法流程图输入进程信息执行进程将阻塞队
3、列的进程调入就绪队列封锁进程结束进程退出操作输入要进行操作的功能选项12345进行所选进程操作选1且进程正在执行Y操作不能执行选择#NNN选择5YY开始结束三、实验实现源代码#includeclassqueuenode//定义队列数据结构{friendclassqueue;private:chardata;queuenode*link;queuenode(chard=0,queuenode*l=NULL):data(d),link(l){}};classqueue{public:queue():rear(NULL),front
4、(NULL){};~queue();voidenqueue(char&item);chardequeue();voiddel(charitem);voiddisplay();intfind(charitem);intisempty(){returnfront==NULL;}private:queuenode*front,*rear;};queue::~queue(){queuenode*p;while(front!=NULL){p=front;front=front->link;deletep;}}voidqueue::enqueue(char&it
5、em){if(front==NULL)front=rear=newqueuenode(item,NULL);elserear=rear->link=newqueuenode(item,NULL);}charqueue::dequeue(){queuenode*p=front;charf=p->data;front=front->link;deletep;returnf;}voidqueue::display()//队列输出{queuenode*p;p=front;while(p!=NULL){cout<data<<"->";p=p->link
6、;}cout<<"NULL";}queue::find(charitem)//队列查找{queuenode*w;w=front;M:while(w!=NULL){if(item==w->data){return1;break;}else{w=w->link;gotoM;}}if(w==NULL)return0;}voidqueue::del(charitem)//队列删除{queuenode*q,*b;q=front;while(q->data!=item){b=q;q=q->link;}if(q==front){front=front->link;
7、deleteq;}elseif(q==rear){rear=b;rear->link=NULL;deleteq;}else{b->link=q->link;deleteq;}}voidmain()//主函数{intn;chara;cout<<"[************您好,请进入进程管理模拟系统之先来先服务算法************]"<8、dl;charr;r='x';for(inti=0;;i++){chare[100];cout<<"输入进程
8、dl;charr;r='x';for(inti=0;;i++){chare[100];cout<<"输入进程
此文档下载收益归作者所有