在作業系統中,通常把程序控制用程式段做成原語。
為了在併發執行過程中執行程序控制任務時候,減少系統的開銷和複雜度
建立方式
特點由系統程式模組統一建立
關係是平等、它們之間一般不存在資源繼承關係
由父程序建立
程序之間則存在隸屬關係、子程序可繼承父程序資源
建立方式總結
1.無論是哪一種方式建立程序,在系統生成時,都必須由作業系統建立一部分承擔系統資源分配和管理工作的系統程序。
2.無論是系統建立方式還是父程序建立方式,都必須呼叫建立原語實現。
1.該程序已完成所要求的功能而正常終止。
2.由於某種錯誤導致非正常終止。
3.祖先程序要求撤消某個子程序。
撤銷方式總結
1.無論哪一種情況導致程序被撤消,程序都必須釋放它所占用的各種資源和pcb 結構本身,以利於資源的有效利用。
2.當乙個祖先程序撤消某個子程序時,還需審查該子程序是否還有自己的子孫程序,若有的話,還需撤消其子孫程序的 pcb結構和釋放它們所占有的資源。
3.撤消原語釋放程序占有的資源之後,把對應的 pcb結構從程序鏈或程序家族中摘下並返回給 pcb空佇列。
4.有子程序的情況,先撤消子程序 pcb結構並釋放子程序所占用的資源之後,再撤消當前程序的 pcb結構和釋放其資源
1.乙個程序期待某一事件發生,但發生條件尚不具備時,被該程序自己呼叫阻塞原語來阻塞自己,程序從執行狀態變為等待狀態。
2.轉程序排程程式是很重要的,否則處理機將會出現空轉而浪費資源。
等待佇列中的程序所等待的事件發生時,等待該事件的所有程序都將被喚醒,程序從等待狀態變為就緒狀態。
系統程序喚醒
1.系統程序喚醒等待程序時,系統程序統一控制事件的發生並將「事件發生」這一訊息通知等待程序
2.而使得該程序因等待事件已發生而進入就緒佇列
事件發生程序喚醒
1.事件發生程序喚醒時,事件發生程序和被喚醒程序之間是合作關係
2.因此,喚醒原語既可被系統程序呼叫,也可被事件發生程序呼叫
3.稱呼叫喚醒原語的程序為喚醒程序
4.在把被喚醒程序送入就緒佇列之後,喚醒原語既可以返回原呼叫程式,也可以轉向程序排程,以便讓排程程式有機會選擇乙個合適的程序執行
程序控制與管理
檢視和控制程序 程式和程序的關係 程式 儲存在硬碟 光碟等介質中的可執行 和資料 是靜態儲存的 程序 在cpu及記憶體中執行的程式 是動態執行的 父子程序 每個程序可以建立乙個或多個程序 a 檢視程序 1.ps 命令 檢視靜態的程序統計資訊 a 顯示當前中斷下所有程序資訊 u 使用以使用者為主的格式...
程序及程序控制
學習程序之前,先了解一下程式 所謂程式就是指編譯好的二進位制檔案,在磁碟上,不占用系統資源 cpu 記憶體.而程序是與作業系統相關,是指在記憶體中執行起來的程式,占用一些系統資源,每當乙個程式執行,就相應產生乙個程序。程序的一些相關資訊被放在乙個叫程序控制塊的資料結構中,稱之為pcb。linux下的...
ps程序控制與管理
系統中每個程序都以兩種方式存在 前台 foreground 與後台 background 前台就是使用者在當前螢幕進行的操作,後台是程序進行的實際操作。ps 命令是 process status 的縮寫,執行時可以不加任何引數,顯示資訊如下 pid程序的id,方便結程序 ttytime 此程序消耗c...