(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 最高響應比...