//
//資料:程序,佇列結構
//處理流程:
//1 初始化--程序佇列結構(包括:就緒佇列,等待佇列,執行佇列)等必要的資料結構 init();
//2 進入無限迴圈,反覆排程佇列
/#define max 5
#include
#include
int total_time=20;
int time_slice=3;
typedef struct process process;
//typedef struct process process;
process * in_queue(process *head,process *p); //宣告
process *init() //程序初始化
while((inext=null;
}else
// printf("the process insert into the mothball queue :/n");
return head;}/
/*void new_queue() //後備佇列 先來先服務方式進入就緒
*/process *fcfs_process()
}q->waittime--;
if(q->waittime==0) //如果等待時間為0則把該程序從後備佇列中移除
return q; //選擇等待時間最久的)
}//就緒佇列,入口函式為就緒佇列的頭指標/
int count=0;
process *ready_queue(process *head) //就緒佇列 優先順序進入執行 4道
return head;
}//insert_ready() //
process *high_priority(process *p) //選擇優先順序最高的程序
return q;
}process *pick_ready(process *a) //從就緒佇列中選擇程序執行
void run(process *a) //執行乙個時間片
a->priority--;
total_time--;
/*if(a->runtime>0)
return a;
else return null;*/
}void main()
run(p);
time_slice=3;}}
//注意的點:
//(1)pedef struct process process; c++ 可以直接用process 定義,但是c 不可以
//(2)返回值一致,process *mm()
//指標用. 鍊錶用->
程序排程演算法(程序排程策略)
程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...
程序的排程演算法
大家都知道作業系統管理了系統的有限資源,當有多個程序 或多個程序發出的請求 要使用這些資源時,因為資源的有限性,必須按照一定的原則選擇程序 請求 來占用資源,這就是排程。簡單來說排程就是一種資源分配。而排程演算法是根據系統的資源分配策略所規定的資源分配演算法。目前存在的多種排程演算法中,有的演算法適...
程序排程演算法模擬與實現
程序管理是作業系統中的重要功能,用來建立程序 撤消程序 實現程序狀態轉換,它提供了在可執行的程序之間復用cpu的方法。在程序管理中,程序排程是核心,因為在採用多道程式設計的系統中,往往有若干個程序同時處於就緒狀態,當就緒程序個數大於處理器數目時,就必須依照某種策略決定哪些程序優先占用處理器。編寫允許...