文档详情

计算机操作系统CPU的调度程序实验报告..doc

发布:2017-01-18约1.87千字共6页下载文档
文本预览下载声明
成绩 辽宁工程技术大学上机实验报告 课程名称 计算机操作系统 实验题目 CPU的调度程序 院系 软件学院 专业 软件工程 班级 10-04班 姓名 杨慧荣 学号 1020010427 实验日期 2012/12/01 实验 目的 用C++分别采用优先权法和响应比法实现CPU的调度程序。 实验 准备 上课认真听讲,对CPU的两种调度算法——优先权法和响应比法的调度策略有一定的了解和掌握。 实验 进度 本次共有 2 个练习,完成 2 个。 实验 内容 优先权法 int PRI() { int j=0,i; int d=0; int temp=Process[0].comet; Process[j].runbt=Process[j].comet; Process[j].runet=Process[j].comet+Process[j].runt; Process[j].run_flag=1; Process[j].order=d+1;d++; temp=Process[j].runet; int pritemp=100; int z=0; for(i=1;icounter;i++) { for(int a=0;acounter;a++) { if(Process[a].run_flag==0) if(Process[a].pripritemp) { pritemp=Process[a].pri; z=a; } } Process[z].runbt=temp; Process[z].runet=Process[z].runbt+Process[z].runt; temp=Process[z].runet; Process[z].run_flag=1; pritemp=100; Process[z].order=d+1;d++; } return 0; } 响应比法 int hrn() { int i,j,p; int current_counter=0; double current_time=Process[0].comet; for(i=0;icounter;i++) { double max_respond_rate=-1; for(j=0;jcounter;j++) { if(Process[j].run_flag==0) { Process[j].respond_rate=(current_time-Process[j].comet)/Process[j].runt; } } for(j=0;jcounter;j++) { if((Process[j].run_flag==0)(Process[j].respond_ratemax_respond_rate)) { p=j; max_respond_rate=Process[j].respond_rate; } } if(Process[p].comet=current_time) { Process[p].runbt=current_time; } else Process[p].runbt=Process[p].comet; Process[p].runet=Process[p].runbt+Process[p].runt; Process[p].run_flag=1; current_counter=current_counter+1; Process[p].order=current_counter; current_time=Process[p].runet; } return 0; } 实验 总结 通过这次实验,对CPU的两种调度算法——优先权法和响应比法的调度策略和算法过程有了更深层次的了解,也对两种算法的优缺点有了较为深刻的认识。 教师 评语
显示全部
相似文档