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

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

成绩辽宁工程技术大学上机实验报告

课程名称计算机操作系统实验题目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;i

{

for(int a=0;a

{

if(Process[a].run_flag==0)

if(Process[a].pri

{

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;i

{

double max_respond_rate=-1;

for(j=0;j

{

if(Process[j].run_flag==0)

{

Process[j].respond_rate=(current_time-Process[j].comet)/Process[j].runt;

}

}

for(j=0;j

{

if((Process[j].run_flag==0)&&(Process[j].respond_rate>max_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的两种调度算法——优先权法和响应比法的调度策略和算法过程有了更深层次的了解,也对两种算法的优缺点有了较为深刻的认识。教师

评语

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值