作業系統 程序排程(C語言)

2021-09-25 02:25:19 字數 755 閱讀 7694

#include

#include

#include

#include

using namespace std;

struct pcb_type

;typedef struct queuenode //佇列鍊錶

*queuelink;

//設定全程變數

struct queuenode *ready_head=null, //ready佇列隊首指標

*ready_tail=null , //ready佇列隊尾指標

*blocked_head=null, //blocked佇列隊首指標

*blocked_tail=null; //blocked佇列隊尾指標

int t; //定義乙個全域性變數個時間片系統釋放資源,喚醒處於阻塞佇列隊首的程序

//設定相應的子程式

void start_state() //讀入假設的資料,設定系統初始狀態

else

}else、 }

}else //程序狀態 2–表示"執行"狀態 1–表示"就緒"狀態 0–表示"阻塞"狀態

x++; //執行過後吧用掉的時間加上,這裡每次為一

if(x==t && blocked_head != blocked_tail) //到時候向就緒佇列送節點,且阻塞佇列不為空

else //如果是只剩下最後乙個節點

}printf("\n");}}

void calculate() //計算cpu利用率

作業系統 程序排程

程序排程程序排程室作業系統必不可少的一種排程。因此在三種型別的os dos windows linux 都無一例外地配置了程序排程。此外它也是對系統效能影響最大的一種處理機排程。程序排程的任務 儲存處理機的現場資訊。在進行排程時首先需要儲存當前程序的處理機的現場資訊,如程式計數器 多個通用暫存器中的...

作業系統程序排程

華中農業大學 學生實驗報告 課程名稱 計算機作業系統 實驗名稱 程序排程 實驗型別 驗證 設計 綜合 創新 實驗目的 實驗目的 1 通過編寫程式實現程序或作業先來先服務 高優先權 按時間片輪轉排程演算法,使 學生進一步掌握程序排程的概念和演算法,加深對處理機分配的理解。2 了解程序 執行緒 的排程機...

作業系統 程序排程

對於單處理器系統,同一時間只有乙個程式可以執行 其他程序都應等待,直到cpu空閒並可排程為止。多道程式的目標是,始終允許某個程序執行以最大化cpu利用率。cpu的程序屬性 週期進行cpu執行和i o等待。程序在這兩個狀態之間不斷交替。程序執行從cpu執行開始,之後i o執行 接著另乙個cpu執行,接...