操作系统课程设计报告(编辑修改稿)内容摘要:
*/ ProcessCreate()。 /*创建就绪进程队列 */ MultiDispatch()。 /*算法开始 */ Output()。 /*输出最终的调度序列 */ return 0。 } void Output() /*进程信息输出函数 */ { ReadyQueue *print = Head。 PCB *p。 printf(进程名 \t优先级 \t轮数 \tcpu时间 \t需要时间 \t进程状态 \t计数器 \n)。 while(print) { if(print LinkPCB != NULL) { p=print LinkPCB。 while(p) { printf(%s\t%d\t%d\t%d\t%d\t\t%c\t\t%d\n,pname,pprio,pround,pcputime,pneedtime,pstate,pcount)。 p = pnext。 } } print = printnext。 } p = finish。 while(p!=NULL) { printf(%s\t%d\t%d\t%d\t%d\t\t%c\t\t%d\n,pname,pprio,pround,pcputime,pneedtime,pstate,pcount)。 p = pnext。 } p = run。 while(p!=NULL) { printf(%s\t%d\t%d\t%d\t%d\t\t%c\t\t%d\n,pname,pprio,pround,pcputime,pneedtime,pstate,pcount)。 p = pnext。 } } void InsertFinish(PCB *in) /*将进程插入到完成队列尾部 */ { PCB *fst。 fst = finish。 if(finish == NULL) { innext = finish。 finish = in。 } else { while(fstnext != NULL) { fst = fstnext。 } in next = fst next。 fst next = in。 } } void InsertPrio(ReadyQueue *in) /*创建就绪队列,规定优先数越小,优先级越低 */ { ReadyQueue *fst,*nxt。 fst = nxt = Head。 if(Head == NULL) /*如果没有队列,则为第一个元素 */ { innext = Head。 Head = in。 } else /*查到合适的位置进行插入 */ { if(in prio = fst prio) /*比第一个还要大,则插入到队头 */ { innext = Head。 Head = in。 } else { while(fstnext != NULL) /*移动指针查找第一个别它小的元素的位置进行插入 */ { nxt = fst。 fst = fstnext。 } if(fst next == NULL) /*已 经搜索到队尾,则其优先级数最小,将其插入到队尾即可 */ { in next = fst next。 fst next = in。 } else /*插入到队列中 */ { nxt = in。 in next = fst。 } } } } void PrioCreate() /*创建就绪队列输入函数 */ { ReadyQueue *tmp。 int i。 printf(输入就绪队列的个数: \n)。 scanf(%d,amp。 ReadyNum)。 printf(输入每个就绪队列的 CPU时间片: \n)。 for(i = 0。 i ReadyNum。 i++) { if((tmp = (ReadyQueue *)malloc(sizeof(ReadyQueue)))==NULL) { perror(malloc)。 exit(1)。 } scanf(%d,amp。 (tmpround))。 /*输入此就绪队列中给每个进程所分配的 CPU时间片 */ tmp prio = 50 tmpround。 /*设置其优先级,时间片越高,其优先级越低 */ tmp LinkPCB = NULL。 /*初始化其连接的进程队列为空 */ tmp next = NULL。 InsertPrio(tmp)。 /*按照优先级从高到低,建立多个就绪队列 */ } } void GetFirst(ReadyQueue *queue) /*取得某一个就绪队列中的队头进程 */ { run = queue LinkPCB。 if(queue LinkPCB != NULL) { run state = 39。 R39。 queue LinkPCB = queue LinkPCB next。 run next = NULL。 } } void InsertLast(PCB *in,ReadyQueue *queue) /*将进程插入到就绪队列尾部 */ { PCB *fst。 fst = queueLinkPCB。 if( queueLinkPCB == NULL) { innext = queueLinkPCB。 queueLinkPCB = in。 } else { while(fstnext != NULL) { fst = fstnext。 } in next = fst next。 fst next = in。 } } void ProcessCreate() /*进程创建函数 */ { PCB *tmp。 int i。 printf(输入进程的个数: \n)。 scanf(%d,amp。 num)。 printf(输入进程名字和进程所需时间: \n)。 for(i = 0。 i num。 i++) { if((tmp = (PCB *)malloc(sizeof(PCB)))==NULL) { perror(malloc)。 exit(1)。 } scanf(%s,tmpname)。 getchar()。 /*吸收回车符号 */ scanf(%d,amp。 (tmpneedtime))。 tmp cputime = 0。 tmp state =39。 W39。 tmp prio = 50 tmpneedtime。 /*设置其优先级,需要的时间越多,优先级越低 */ tmp round = Head round。 tmp count = 0。 InsertLast(tmp,Head)。 /*按照优先级从高到低,插入到就绪队列 */ } } void RoundRun(ReadyQueue *timechip) /*时间片轮转调度算法 */ { int flag = 1。 GetFirst(timechip)。 while(run != NULL) { while(flag) { runcount++。 runcputime++。 runneedtime。 if(runneedtime == 0) /*进程执行完毕 */ {。操作系统课程设计报告(编辑修改稿)
相关推荐
初步分析得到下列结论: 增大比例系数 Kp 将加快系统的响应,有利于减小静差,但是过大会使系统有较大的超调,使稳定性变坏, Kp 取值过小,会使系统的动作缓慢。 增大积分时间常数 Ti 有利于减小超调,减小振荡,使系统的稳定性增加,但系统静差消除时间变长,若 Ti 过小,系统的稳态误差将难以消除,导致系统不稳定。 增大微分时间 Td 有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但 是
课程设 计 VIII 在深底色的返白色文字,底色尽量用单一颜色。 一张菲林片只代表一种颜色,印刷彩色的,最少要有 4 张菲林片,代表了 C、 M、 Y、 K 4 个颜色。 也可以是四个专色,专色菲林是用单独的文件输出成 K 版的。 旁边的 色标 不能表明 CMYK 的具体值,而是对照用 的 ,检验菲林出的是否符合要求后,自己再用各个版上的纯色标上各版的名称。 例 如 标上 C、 M、 Y、 K
研究 》、 东北师范大学 、 2020 年 11财政部会计资格评价中心、《初级会计实务》、中国财政经济出版社、 2020 年 第 18 185 页 12 《一汽轿车 :闭环信息流的强劲动力》、《中国制造业信息化》、 2020 年第 20 期 西南财经大学天府学院 一汽轿车的运营能力分析 及改进措施 6 生存 和发展 问题迫在眉睫。 因此,一汽轿车必须 加强 对自身的 运营能力进行分析,查漏补缺,
PC0~PC3 PA0~PA7 8259 IRQ1 发光二极管 电路红灯绿灯 6 LIGHT DB 0C3H。 信号灯的输出信号 (11000011) LIGHTZT DB 00H。 有人闯灯时记录当前的灯的状态 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX MOV AX
( 研究方向,研究内容、系统主要功能分析及说明 ) 研究方向 : 本系统所采用的语言是 C,用 Microsoft S ql Server 2020数据库完成。 使用的软件包括VS20 SQL20 Photoshop、 该系统总 体有 五 部分组成,包括 系统管理、班级管理 、 学生基本信息管理 、 课程管理 及 成绩 管理。 通过本系统,把本校内部查询学生信息、 课程信息 、学生 成绩
求设计师们在 经典 控制 的“ text”和“ up”的设计 中有一定的设计经验。 这里采用的是 对转速、电流两个 PI 调节器的 工程设计以及 仿真 和 参数 优化。 III 仿真和运行 根据图 1 得到的仿真模型如图 2 所示。 其中, 带限幅作用的 PI调节器中的积分调节器 与比例调节 器并联; 带限幅作用的 PI 调节器在实际仿真中应用很广泛。 图 2 转速 闭环控制 的 直流电机 调速