资源简介

含本人实验报告,有具体流程图,实验课上写的,有更好的想法可以提出,大家一起学习,赚点积分不容易 C语言编写,调试过可运行,含实验报告,含具体流程图 ,有注释和变量解释,环境为VS2008

资源截图

代码片段和文件信息

// oslab1.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
int numa=0numb=0;//存放已经运行的次数
int deadtimea[10]={20406080100120140160180};//存放时间轴上A任务的截止时间
int deadtimeb[10]={50100150200};//存放时间轴上B任务的截止时间
int runtimea=10runtimeb=25;//存放当前任务A、B还需要运行的时间,A、B任务的运行时间的初始值分别为10和25
int clock=0;//clock中存放当前时间
int step=5;//用来存放时间跨度,每次增加5,即每隔5个时间单位进行一次最低松弛度优先算法的调度
int softa=0softb=0;//softa和softb分别用来存放当前任务A和任务B的松弛度
bool runa=falserunb=false;
//通过布尔量runa和runb来定义一些规则,runb为true表示B任务正在运行,为false表示当前不允许B任务执行,
//runa同理,在程序中可以灵活使用

void softai()//最低松弛度优先算法的核心部分
{
if(softa==0)//表示如果当前A任务已经到达了临界条件即A任务松弛度为0时,此时要抢占处理机来执行任务A
{
runb=false;
}
if(softb==0)//表示如果当前B任务已经到达了临界条件即B任务松弛度为0时,此时要抢占处理机来执行任务B
{
runa=false;
}
if(deadtimea[numa]-clock>20)//表示如果任务A当前周期内的运行任务已经完成,而且尚未进入下一周期,则任务A放弃处理机,让任务B执行任务
{
runb=true;
}
if(deadtimeb[numb]-clock>25)//表示如果任务B当前周期内的运行任务已经完成,而且尚未进入下一周期,则任务B放弃处理机,让任务A执行任务
{
runa=true;
}

if(softa {
runa=true;
runtimea-=step;
if(runtimea==0)
{
runtimea=10;
numa++;
}
}
else 
{
runb=true;
runtimeb-=step;
if(runtimeb==0)
{
runb=false;
runtimeb=25;
numb++;
}
}
}

void display()//对表格中的每一项进行打印,包括“当前时间、截止时间、运行时间、松弛度”
{
printf(“%5d%11d%11d%9d %6d%11d%11d\n“clockdeadtimea[numa]runtimeasoftadeadtimeb[numb]runtimebsoftb);
}

int _tmain(int argc _TCHAR* argv[])
{
int timeatimeb;//用来存放任务的周期
int deadtime;//存放调度的最终截止时间
printf(“请输入任务A的周期:\n“);
scanf(“%d“&timea);
printf(“请输入任务A每周期的运行时间:\n“);
scanf(“%d“&runtimea);
printf(“请输入任务B的周期:\n“);
scanf(“%d“&timeb);
printf(“请输入任务B每周期的运行时间:\n“);
scanf(“%d“&runtimeb);
printf(“该调度算法从0时刻开始,请输入调度运行时间:\n“);
scanf(“%d“&deadtime);

for(int i=0;i<10;i++)
{
deadtimea[i]=timea*(i+1);//deadtimea[i]存放时间轴上A任务的截止时间
deadtimeb[i]=timeb*(i+1);//deadtimeb[i]存放时间轴上B任务的截止时间
}


printf(“*********************A*****************************B***************\n“);
printf(“当前时间 必须完成时间 运行时间 松弛度 必须完成时间 运行时间 松弛度\n“);


while(clock<=deadtime)//在deadtime内进行最低松弛度优先的调用
{
softa=deadtimea[numa]-runtimea-clock;//计算当前A任务的松弛度
softb=deadtimeb[numb]-runtimeb-clock;//计算当前B任务的松弛度
display();//每调用一次算法,打印当前任务的运行时间、截止时间等
softai();//调用最低松弛度优先算法

clock+=step;//时间增加
}
getchar();
getchar();
return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      31232  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\Debug\oslab1.exe

     文件     378340  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\Debug\oslab1.ilk

     文件     470016  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\Debug\oslab1.pdb

     文件       9508  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\BuildLog.htm

     文件         65  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\mt.dep

     文件        663  2018-12-12 14:26  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\oslab1.exe.embed.manifest

     文件        728  2018-12-12 14:26  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\oslab1.exe.embed.manifest.res

     文件        621  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\oslab1.exe.intermediate.manifest

     文件      11038  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\oslab1.obj

     文件    3211264  2018-12-12 14:26  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\oslab1.pch

     文件      12149  2018-12-12 14:26  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\stdafx.obj

     文件      68608  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\vc90.idb

     文件     126976  2018-12-12 15:33  实验9——最低松弛度优先算法\oslab1\oslab1\Debug\vc90.pdb

     文件       2992  2018-12-12 15:35  实验9——最低松弛度优先算法\oslab1\oslab1\oslab1.cpp

     文件       4495  2018-12-12 14:15  实验9——最低松弛度优先算法\oslab1\oslab1\oslab1.vcproj

     文件       1403  2018-12-12 16:52  实验9——最低松弛度优先算法\oslab1\oslab1\oslab1.vcproj.C25.ACER.user

     文件       1177  2018-12-12 14:15  实验9——最低松弛度优先算法\oslab1\oslab1\ReadMe.txt

     文件        211  2018-12-12 14:15  实验9——最低松弛度优先算法\oslab1\oslab1\stdafx.cpp

     文件        233  2018-12-12 14:15  实验9——最低松弛度优先算法\oslab1\oslab1\stdafx.h

     文件        498  2018-12-12 14:15  实验9——最低松弛度优先算法\oslab1\oslab1\targetver.h

     文件     207872  2018-12-12 14:15  实验9——最低松弛度优先算法\oslab1\oslab1.ncb

     文件        884  2018-12-12 14:15  实验9——最低松弛度优先算法\oslab1\oslab1.sln

    ..A..H.     11264  2018-12-12 16:52  实验9——最低松弛度优先算法\oslab1\oslab1.suo

     文件     223819  2018-12-21 09:52  实验9——最低松弛度优先算法\实验报告9.docx

     文件      65536  2018-12-12 16:08  实验9——最低松弛度优先算法\绘图1.vsd

     目录          0  2018-12-21 09:13  实验9——最低松弛度优先算法\oslab1\oslab1\Debug

     目录          0  2018-12-21 09:13  实验9——最低松弛度优先算法\oslab1\Debug

     目录          0  2018-12-21 09:13  实验9——最低松弛度优先算法\oslab1\oslab1

     目录          0  2018-12-21 09:13  实验9——最低松弛度优先算法\oslab1

     目录          0  2018-12-21 09:52  实验9——最低松弛度优先算法

............此处省略3个文件信息

评论

共有 条评论