作業系統,作業排程演算法參考

2021-09-29 09:08:33 字數 2233 閱讀 1805

作業系統,作業排程演算法參考

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int n =

1000

;struct task

task[n]

, tp_task[n]

;int num;

//程序數目

void

sleep

(int n)

void

getdata()

printf

("程序資訊輸入完畢!!!\n");

}void

backdata()

printf

("程序資訊寫入成功!!!\n");

}void

print()

}bool

cmp1

(const

struct task& a,

const

struct task& b)

//短作業優先演算法

void

sjf(

)putchar

('\n');

//sleep(1000 * task[i].turn_time); // 程式暫停時間(單位:ms)

task[i]

.start_time = countt;

countt +

= task[i]

.turn_time;

task[i]

.end_time = countt;

}printf

("\n所有程序全部執行完畢!!!\n\n");

print()

;}bool

cmp2

(const

struct task& a,

const

struct task& b)

//先來先服務演算法

void

fcfs()

putchar

('\n');

//sleep(1000 * task[i].turn_time); // 程式暫停時間(單位:ms)

task[i]

.start_time = countt;

countt +

= task[i]

.turn_time;

task[i]

.end_time = countt;

}printf

("\n所有程序全部執行完畢!!!\n\n");

print()

;}bool

c***

(const

struct task& a,

const

struct task& b)

else

return a.end_time < b.end_time;

}bool

cmp4

(const

struct task& a,

const

struct task& b)

// 非搶占 高響應比 優先排程演算法

void

hrrn()

putchar

('\n');

//sleep(1000 * task[0].turn_time); // 程式暫停時間(單位:ms)

task[0]

.start_time = countt;

countt +

= task[0]

.turn_time;

task[0]

.end_time = countt;

}printf

("\n所有程序全部執行完畢!!!\n\n");

sort

(task, task + num, cmp4)

;// 按照開始執行的時間從小到大排序

print()

;}bool

cmp5

(const

struct task a,

const

struct task b)

void

menu()

intmain()

backdata()

;}return0;

}

作業系統 作業排程(高階排程)

乙個典型的作業可分成三個作業步 1.編譯 作業步 2.鏈結裝配 作業步 3.執行 作業步。在多道批處理系統中通常有上百個作業,為了管理和排程作業,系統為每個作業設定了乙個作業控制塊 jcb 它記錄該作業的有關資訊。不同系統的 jcb的組成內容有所區別。jcb 是作業在系統中存在的唯一標誌。作業進入系...

作業系統作業排程演算法 評價指標

1.fcfs演算法 先來先服務演算法 最長等待時間服務演算法 演算法原則 哪乙個作業先提交給系統,就先執行哪乙個作業。演算法特點 非搶占式演算法,比較公平,優點是比較容易實現,缺點是不區分作業長短,不顧及輕重緩急。不能做到急事急辦,但是由於這是公平的演算法,並不會出現飢餓現象。2.sjf演算法 短作...

作業系統排程演算法

include include include include using namespace std const int maxnum 101 typedef struct information node struct node1 此結構體用於優先順序演算法的搶占式 int priority i...