重囗另类BBWSeⅹHD,av狼论坛,精品一卡2卡三卡4卡乱码理论,体育生gv老师浪小辉3p警察

實時調度算法

時間:2023-04-30 23:00:37 資料 我要投稿
  • 相關推薦

實時調度算法

EDF實時調度算

一、基本思想:

在該實驗中有兩個周期性任務A、B,A的周期時間為20ms,每個周期的處理時間為10ms;任務B的周期時間為50ms,每個周期的處理時間為25ms。 在t=0是,A1和B1同時到達,由于A1的截止時間比B1早,故調度A1執行;在t=10時,A1完成,又調度B1執行;在t=20時,A2到達,由于A2的截止時間比B2早,B1被中斷而調度A2執行;在t=30時,A2完成,又重新調度B1執行;在t=40時,A3到達,但B1的截止時間要比A3早,仍執行B1,在t=45時,B1執行完,再調度A3執行;在t=55時,A3完成,調度B2執行。該實驗將最早截止時間優先算法用于搶占調度方式。在該實驗中,定義了兩個開關來判斷兩個任務是中斷還是調度執行。

二、源程序代碼:

#include

int main()

{

int A,B;

int tA,tB,serveA,serveB; //進程的周期時間和處理時間

float m;

int i,j,a=0,b=0,ka=0,kb=0; //ka,kb為開關,i,j,a,b為進程下標

int numa=0,numb=0; //處理累計時間

printf("輸入進程A的周期時間和處理時間:");

scanf("%d%d",&tA,&serveA);

printf("輸入進程B的周期時間和處理時間:");

scanf("%d%d",&tB,&serveB);

m=(float)serveA/tA+(float)serveB/tB;

for(int T=0;T<=100;T++)

{

if(m-1>1e-6)

{

printf("超出CPU的處理能力!\n");

return 0;

}

if(numa==serveA) //進程A完成

{

numa=serveA+1;

printf("當T=%d時",T);

printf("進程A%d完成\n",a);

if(numb

{

printf(" 調度進程B%d\n",b);

kb=1;

}

ka=0;

}

if(numb==serveB)

{

numb=serveB+1;

printf("當T=%d時",T);

printf("進程B%d結束\n",b);

if(numa

{

printf(" 調度進程A%d\n",a);

ka=1;

}

kb=0;

}

if(T%tA==0 && T%tB==0)

{

A=B=T;

j=++a;

i=++b;

printf("當T=%d時,進程A%d和進程B%d同時到達,此時,",T,j,i); if(tA<=tB)

{

printf("調度進程A%d,中斷進程B%d\n",j,i);

ka=1;

kb=0;

}

else

{

printf("調度進程B%d,中斷進程A%d\n",i,j);

ka=0;

kb=1;

}

numa=numb=0;

}

if(T%tA==0&&T%tB!=0)

{

A=T;

printf("當T=%d時",T);

printf("進程A%d到達 ",++a); //不可能與進程A競爭處理器 numa=0;

if(numb

if(B+tB>A+tA) //若進程B最早截止時間大于進程A的 {

printf("進程A%d執行。\n",a);

ka=1;

kb=0;

}

else //若進程B最早截止時間小于等于進程A的

printf("進程B%d繼續執行。\n",b);

else //進程B完成

{

printf("進程A%d執行。\n",a);

ka=1;

}

}

if(T%tA!=0&&T%tB==0)

{

B=T;

printf("當T=%d時",T);

printf("進程B%d到達,",++b); //不可能與進程B競爭處理器

numb=0;

if(numa

if(B+tB>=A+tA) //進程A的最早截止時間不小于B printf("進程A%d繼續執行。\n",a);

else

{

printf("進程B%d執行。\n",b);

kb=1;

ka=0;

}

else //進程A完成

{

printf("進程B%d執行。\n",b);

kb=1; 實時調度算法 }

}

if(ka)

numa++;

if(kb)

numb++;

}

return 1;

}

三、實驗結果截圖:

【實時調度算法】相關文章:

動態車間調度算法04-27

基于UKF的測速定軌實時算法04-30

基于A*算法的實時航跡規劃方法研究05-01

車輛調度問題的混合算法04-28

車輛優化調度算法研究初探04-27

多軸液壓聯動實時插補控制算法04-28

靶場彈道跟蹤實時數據平滑算法及實現05-02

雙通道角跟蹤體制實時校相算法研究05-02

光電圖像序列運動弱目標實時檢測算法04-28

基于Memetic算法的飛機著陸調度優化04-27

主站蜘蛛池模板: 启东市| 筠连县| 友谊县| 政和县| 米易县| 江口县| 宕昌县| 大同市| 巴彦县| 长岭县| 永济市| 曲沃县| 泽州县| 甘孜县| 穆棱市| 麦盖提县| 阜城县| 平乡县| 饶阳县| 南皮县| 藁城市| 宁晋县| 景东| 靖远县| 马尔康县| 上思县| 柘城县| 扶余县| 阿坝县| 唐河县| 东乌珠穆沁旗| 彭阳县| 象州县| 江阴市| 台东县| 珠海市| 凯里市| 峨山| 乌拉特后旗| 宁阳县| 准格尔旗|