操作系统进程调度课程设计报告

设计时间:姓名:组员:专业年级:一功能二2为就绪状态。轮转时间数以及进程需运行的时间片数的初始值均由用户给定。P_TIME-process->needtime要的时间片数减行时间片数为已执行了并排列到就绪队列的尾上。策略解决。三.设计过程1、2、3、4、5、6、7、、8..设计目的:.设计内容:.设计要求:开发环境:④对于遇到优先数一致的通过课程设计,题目:进程调度算法的设计①设计进程控制块②建立进程就VC++6.0优先函数功能:优先级法调度将进程插入到就绪队列算法,先数FIFO的CPU*/2)循环轮转调度为50情况,采用绪队列。对两种不同算法编制入链子程序。③编制两种进程调度算法:设计技术参数①本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态②为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数或③2012-1-1至2012-1-08学号:,加深对操作系统各资源管理模块的理解具有初步分析实际操作系统、设计、构造和开发现代操作系统的基本能力。PCB表结构,分别适用于优先数调度算法和循环轮转调度算法。1)优先数调度;:在数算法中优值。进程每执行一次,优先数减1。在轮转算法中,采用固定时间片(即:每执行一次进程,该进程的执2个单位),这时,时间片数加个人负责实现的功能:/voidFirstInsert(PCB*q){PCB*p,*s,*r;/*p,*r用来控制就绪队列滚动,intb;/*b作为插入控制标志的s=q;掌握操作系统的基本原理CP时间片数,进程还,进程还需要的时间片数指向插入的队*/9、p=READY;10、r=p;11、b=1;12、if(s->PRIO>=READY->PRIO)13、{14、s->next=READY;15、READY=s;16、}17、else18、{19、while((p!=NULL)b)20、{21、if(p->PRIO>=s->PRIO)22、{23、r=p;24、p=p->next;25、}26、else27、{28、b=0;29、}30、}31、s->next=p;32、r->next=s;33、}34、}35、//函数功能:时间片轮转算法调度将进程插入到就绪队列算法36、37、voidSecondInsert(PCB*q)38、{39、tail->next=q;40、tail=q;41、q->next=NULL;42、}设计思路首先设计分成两个主要部分:1、优先级法调度将进程插入到就绪队列算法:*p,*r用来控制就绪队列滚动,*S指向插入的队列,再比较p和s的进程的优先度大小,如果大于等于则直接加到首部。否则和第二个再比较,p指向下一个进程,r指向p的上一个进程,如果p==NULL,则将新进程插到队尾。否则s的next指向p,r的next指向s。2时间片轮转算法调度将进程插入到就绪队列算法:直接将要插进的进程插进就绪队尾即可,也就是将尾部的进程的next指向新插进队列。tail指向新插进程的地址。算法和流程图Main函数流程图:开始输入P或algoPR以pcreate_task创建任务,代表优先数算法R到参数是P还是R以rcreate_task创建任务,代表轮转算法priority(charroundrun(charalgo),执行优algo),先数算法转算法执行轮终止优先数算法流程图:开始YN优先数减3;YNNY循环轮转调度算法流程图:进程运行完毕?运行数加1;需要时间减1;是否运行完毕?needtime==0就绪队列不空,就绪队列队首优先数大于运行的进程?并且,run->next=finish;finish=run;run->state='F';run=NULL;将进程就绪队列中第一个放进运行队列run->state='W';insert1(run);run=NULL;将进程就绪队列中第一个放进运行队列打印运行情况返回开始Y进程毕?NYNNYYN四.操作界面截图及分析.运行完运行数加1;需要时间减1;运行时间加1;是否运行完毕?needtime==0时间片等于运行时间run->count==run->round?run->count=0;就间?run->next=finish;finish=run;run->state='F';run=NULL;将进程就绪队列中第一个放进运行队列绪为队列空?run->state='W';insert2(rn;firstin();打印运行情况返回优先数调度算法运行过程:回车直至结束:时间轮转调度算法运行过程:回车直至结束:五.设计总结:通过这次课程设计,加深了对进程调度算法的理解,掌握了操作系统中利用软件工程的方法和思想来设计大型软件的过程。基本掌握实际操作系统、设计、构造和开发的基本能力。将课本上学习到的理论知识与实际编程想结合,提高了实践的能力和经验,为以后进一步深造和钻研有关操作系统的学科建立了扎实的基础。但是,我发现这个程序还有很...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?