作業系統 實驗四 處理機通訊

2021-10-07 03:12:10 字數 1384 閱讀 4464

(1)設計乙個按優先數排程演算法實現處理器排程的程式。

#include #include #include using namespace std;

//-----------------------

struct _proc//定義乙個結構體表示程序的pcb

;_proc* root;

//向就緒佇列中插入程序,按照降序

void insert(_proc* pr)

else

}} pr->next=p;//插入程序結點

q->next=pr;

++root->state;//程序個數加1

} //建立程序

_proc creat(char name,int priority,int run_time)

//刪除就緒佇列中隊首程序

_proc* delete()

//對就緒佇列排序,按照降序

void sort()

else//不為0時,先刪除,再根據變化後的優先順序,插入到相應位置

}void output()

void solve() }

int main()

結果:

(2)設計乙個按時間片輪轉法實現處理器排程的程式。

#include#include#includeusing namespace std;

//-----------------------

struct _proc//定義乙個結構體表示程序的pcb

; _proc* root;

//向就緒佇列中插入程序,按照降序

void insert(_proc*pr)

pr->next=root->next;//插入

root->next=pr;

root=pr;

} //建立程序

_proc creat(char name,int run_time,int alloc_time)

//刪除就緒佇列中對首程序

void delete()

root->next=root->next->next;

} //輸出程序號,模擬程序執行

void output()

void solve()

root=root->next;//root指標後移,執行下乙個程序做準備

} }int main()

結果

作業系統02 處理機管理

處理機排程是系統對處理機資源進行分配,使處於就緒狀態的程序得以執行。使用的處理機排程演算法決定了大型系統執行時的效能。1.處理機排程層次 乙個作業從提交到獲得處理機執行,直至作業執行完畢,可能需要經過多級處理機排程。處理機排程的層次分三層 2.作業與作業排程 3.程序排程 4.實時排程 優先順序倒置...

作業系統之 處理機(1)處理機排程

長程排程 作業排程 排程物件是作業,決定作業何時裝入記憶體,為其建立程序 分配資源,放入就緒佇列中。主要用於多批道處理系統 記憶體排程 將暫時無法執行的程序從記憶體調到外存,合適時將外存的就緒程序調入記憶體執行。實際為儲存器管理中的對換功能,見後續.短程排程 程序排程 排程物件是程序,決定就緒佇列中...

作業系統課堂筆記四 處理器排程

排程演算法 典型作業系統排程演算法 solaris 參考ps.如果沒有就緒程序,cpu會安排乙個空閒程序給cpu執行 排程的三個核心點 排程過程 間接開銷 系統角度 占用cpu的方式 i o密集型 和 cpu密集型 最短作業優先 sjf 完成時間最短的優先執行 最短剩餘時間優先 srnt 最高響應比...