1樓:惠智傑
程序在執行過程中主要是在就緒、執行和阻塞三種狀態間進行轉換。建立狀態和退出狀態描述程序建立的過程和程序退出的過程。
1)執行狀態(running):程序占用處理器資源;處於此狀態的程序的數目小於等於處理器的數目。在沒有其他程序可以執行時(如所有程序都在阻塞狀態),通常會自動執行系統的空閒程序。
2)就緒狀態(ready):程序已獲得除處理器外的所需資源,等待分配處理器資源;只要分配了處理器程序就可執行。就緒程序可以按多個優先順序來劃分佇列。
例如,當乙個程序由於時間片用完而進入就緒狀態時,排人低優先順序佇列;當程序由i/o操作完成而進入就緒狀態時,排入高優先順序佇列。
3)阻塞狀態(blocked):當程序由於等待i/o操作或程序同步等條件而暫停執行時,它處於阻塞狀態。
4)建立狀態(new):程序正在建立過程中,還不能執行。作業系統在建立狀態要進行的工作包括分配和建立程序控制塊表項、建立資源**(如開啟檔案表)並分配資源、引導程式並建立位址空間表等。
5)退出狀態(exit):程序已結束執行,**除程序控制塊之外的其他資源,並讓其他程序從程序控制塊中收集有關資訊(如記帳和將退出**傳遞給父程序)。
五狀態程序模型中的狀態轉換主要包括下列幾種。作業系統中多個程序的併發執行是通過排程與超時兩種轉換間的迴圈,或排程、等待事件和事件出現三種轉換間的迴圈來描述的。
1)建立新程序:建立乙個新程序,以執行乙個程式。建立新程序的可能原因包括使用者登入、作業系統建立以提供某項服務、批處理作業等。
2)收容(admit,也稱為提交):收容乙個新程序,進入就緒狀態。由於效能、記憶體等原因,系統會限制併發程序總數。
3)排程執行(dispatch):從就緒程序表中選擇乙個程序,進入執行狀態。
4)釋放(release):由於程序完成或失敗而終止程序執行,進入結束狀態。
為了簡潔,狀態變遷圖中只畫出了執行狀態到退出狀態間的釋放轉換;但實際上,還存在從就緒狀態或阻塞狀態到退出狀態的釋放轉換。執行到結束的轉換可分為正常退出(exit)和異常退出(abort);其中異常退出是指程序執行超時、記憶體不夠、非法指令或位址訪問、i/0操作失敗、被其他程序所終止等原因而退出。從就緒狀態或阻塞狀態到結束狀態的釋放轉換可能是由於多種原因引發,如父程序可在任何時間終止子程序。
5)超時(timeout):由於用完時間片或高優先順序程序就緒等原因導致程序暫停執行
6)事件等待(event wait):程序要求的事件未出現而進入阻塞;可能的原因包括申請系統服務或資源、通訊、i/o操作等。
7)事件出現(eventoccurs):程序等待的事件出現;如操作完成、申請成功等。
更多資料可參考:
2樓:範丿小豆
在 靜止就緒狀態,他不占用處理器資源
作業系統程序同步的基本概念,作業系統“程序同步”的基本概念是什麼
水閏愛樹木 1 概念 程序同步是一個作業系統級別的概念,是在多道程式的環境下,存在著不同的制約關係,為了協調這種互相制約的關係,實現資源共享和程序協作,從而避免程序之間的衝突,引入了程序同步。2 程序的同步與互斥 1 程序的同步與互斥是指程序在推進時的相互制約關係。在多道程式系統中,由於資源共享與程...
作業系統問題,作業系統問題 30
這個真學過,但現在真忘了,不敢確定,別把你耽誤了!祝你好運! 楚裕童歌雲 磁碟檢測。上次非正常斷電,系統試圖找回某些丟失資料。 昔書文倪浩 大哥 麻煩把問題說清楚啊 你這樣問肯定沒人回答啊 系統有問題的話,接著問我啊 我會盡力回答你的問題的 明靚劇堅 重新安裝個穩定點的chost.xp系統 乘正貳卉...
作業系統問題,2個作業系統問題
1.軟體不大容易解決。我只有源 可惜不能上傳。要的話給我發訊息。這個例子利用多執行緒使用不同的排序演算法對資料進行排序,每一個執行緒使用不同的演算法。主執行緒裡使用快速排序quicksort,其他四個演算法分別建立四個子執行緒,在子執行緒中進行排序。因為每一個執行緒都要呼叫函式printresult...