程序的基本狀態及轉換
建立狀態和終止狀態
為了可以使程式能夠併發執行,並且可以對併發執行的程式加以描述和控制,人們引入了程序這個概念。
以程序的功能與服務的物件來分
兩個方面
以應用程式的服務型別來分
三個方面
執行可轉化為阻塞、就緒。
阻塞可轉化為就緒。
就緒可轉化為執行。
程序阻塞步驟如下:
正在執行的程序發現上述某件事情時,由於無法繼續執行,於是程序便通過呼叫阻塞原語block把自己阻塞,之後程序會停止執行,並將程序控制塊的狀態由執行改為阻塞,並將pcb插入阻塞佇列,如果系統中設定了因不同事件而阻塞的多個阻塞佇列,則應將本程序插入到具有相同事件的阻塞佇列中,最後,轉排程程式進行重新排程,將處理機分配給另一就緒程序並進行切換。即保留被阻塞程序的處理機狀態到pcb中,再按新程序的pcb中的處理機狀態設定cpu環境。
程序喚醒步驟如下:
當被阻塞程序所期待的時間出現時,如i/o完成獲其所期待的資料已經到達,則由有關程序(如用完並釋放i/o裝置的程序)呼叫喚醒原語wakeup,將等待該事件的程序喚醒,首先將被阻塞的程序從等待該事件的阻塞佇列中移出,將其pcb中的現行狀態由阻塞改為就緒,然後再將該pcb插入到就緒佇列中。值得注意的是,block原語與wakeup原因應該在不同程序中執行。
建立狀態:
**引入目的:**保證程序的排程必須在建立工作完成後進行,確保程序控制操作的完整性,同時增加管理的靈活性。
**建立程序的步驟:**首先由程序申請乙個空白pcb,並向pcb中填入用於控制和管理程序的資訊,然後為該程序分配執行所必要的資源。最後把該程序轉入就緒狀態並插入就緒佇列中。
**建立狀態:**如果此時所需要的資源尚不能得到滿足,此時建立工作尚未完成,程序不能被排程執行,於是將此時程序的狀態稱為建立狀態。
終止狀態
終止程序的步驟:首先等待作業系統進行善後處理,最後將其pcb清零,並將pcb返回空間。
終止狀態:程序結束,或出現錯誤,或被系統終止,進入終止狀態。無法再執行
作業系統 程序描述
作業系統為了管理程序和資源,必須掌握每個程序和資源的當前狀態。最普遍採用的一張方法是 作業系統管理並維護其管理的每個實體的資訊表。大致可以分為四類 記憶體,i o,檔案,程序。以後的學習中將會著重對這四部分內容學習。如上圖所示,作業系統會為如上實體維護資訊表,在此目前只研究程序,其餘的在以後的學習會...
作業系統原理 程序描述和控制
程序的出現,是為了作業系統可以以一種有序的方式管理應用的執行,以達到以下的目的 資源對多個應用程式是可用的。程序在多個應用程式之間的切換以保證多個應用程式都在執行中。處理器和i o裝置能夠得到充分利用。程序是一組元素組成的實體,他可以是乙個正在執行中的程式,也可以是乙個能分配處理器並由處理器執行的實...
作業系統 程序
在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...