在單使用者多工的作業系統中,或者多使用者多工的作業系統中,系統同時執行多個程式,這些程式的並行執行勢必形成對系統資源的競爭使用。因此,作業系統必須能夠處理和管理這種並行執行的程式,使之對資源的使用按照良性的順序進行
程序是乙個程式關於某個資料集的一次執行。程序是程式的一次執行活動,是乙個動態的概念,而程式是靜態的概念,是指令的集合。程序具有動態性和併發性,程式是程序執行所對應的執行**,乙個程序對應於乙個程式,乙個程式可以同時對應於多個程序。乙個程序從建立而產生至撤銷而消亡的整個生命週期,可以用一組狀態加以刻畫。為了便於管理程序,把程序劃分為幾種狀態,分別有三態模型和五態模型。
當處理器不能即時處理程序時,就會出現程序排隊的現象,如果出現持續排隊的現象就說明cpu當前處於繁忙狀態,所以分析cpu是否處於繁忙狀態的第乙個指標是cpu的佇列長度。
程序的三態模型如圖所示。
上圖程序三態模型及其狀態轉換
按照程序在執行過程中的不同狀況,至少可以定義三種不同的程序狀態。
執行態:占有處理器正在執行。
就緒態:具備執行條件,等待系統分配處理器以便執行。
等待態(阻塞態):不具備執行條件,正在等待某個事件的完成。
乙個程序在建立後將處於就緒狀態。每個程序在執行過程中,都處於上面三種狀態中的某一種狀態。同時,在乙個程序執行過程中,它的狀態將會發生改變。
執行狀態的程序將由於出現等待事件而進入等待狀態,當等待事件結束之後等待狀態的程序將進入就緒狀態,而處理器的排程策略又會引起執行狀態和就緒狀態之間的切換。引起程序狀態轉換的具體原因如下:
執行態→等待態:等待使用資源,如等待外設傳輸;等待人工干預。
等待態→就緒態:資源得到滿足,如外設傳輸結束;人工干預完成。
執行態→就緒態:執行時間片到後出現有更高優先權程序。
就緒態→執行態:cpu空閒時選擇乙個就緒程序。
程序的五態模型如圖所示。
相對於三態模型,五態模型增加以下兩種狀態:
掛起就緒態:表明程序具備執行條件但目前在二級儲存器中,當它被對換到主存才能被排程執行。
掛起等待態:表明程序正在等待某乙個事件且在二級儲存器中。
引起程序狀態轉換的具體原因如下:
就緒→掛起就緒:當有高優先順序阻塞(系統認為會很快就緒的)程序和低優先順序就緒程序時,系統會選擇掛起低優先順序就緒程序;
執行→掛起就緒:對搶占式系統,當有高優先順序阻塞掛起程序因事件出現而進入就緒掛起時,系統可能會把執行程序轉到掛起就緒狀態;
掛起就緒→就緒:沒有就緒程序或掛起就緒程序優先順序高於就緒程序時,發生轉換;
系統資源監控
系統資源監控 free 觀察記憶體使用情況 uname 查閱系統與核心相關資訊 s 系統核心名稱 r 核心版本 uptime 觀察系統啟動時間與負載 netstat 網路監察 vmstat 偵測系統資源變化 iftop 網路流量的監控 netsata 網路監控 netsata 選項 a 將目前系統上...
效能測試系統資源監控(四) 網路
如果系統的效能出現問題了,但發現其它指標並沒任何問題,那麼這很可能是由於網路原因導致系統的效能出現問題。如何判斷是否是由於網路的原因導致系統效能受影響呢?乙個簡單的辦法是比較涉及網路的操作和與網路無關的操作,如果正在執行的程式在進行一定距離的遠端讀取和寫入,而且執行很慢,但其它的操作是正常的,那這很...
linux系統資源監控
如何檢視linux支援哪些命令 連按兩次tab鍵 top 作為乙個廣為人知的linux工具,top是大多數的類 unix 作業系統任務管理器。它可以顯示當前正在執行的程序的列表,使用者可以按照不同的條件對該列表進行排序。它主要顯示了系統程序對cpu和記憶體的使用狀況。top可以快速檢查是哪個或哪幾個...