1. 程式人生 > >《計算機作業系統》總結五(死鎖)

《計算機作業系統》總結五(死鎖)

例如,對一條編譯的語句,該程序可以建立一個子程序執行編譯程式對使用者源程式進行編譯。類似地,子程序也可以繼續建立子程序去完成指定的功能。因此,一個作業就動態地轉換成了一組執行實體——程序族。當父程序遇到作業說明書中的“撤出作業”的語句時,將該作業從執行狀態改變為完成狀態,將作業及相關結果送入磁碟上的輸出井。作業終止程序負責將輸出井中的作業利用印表機輸出,回收作業所佔用的資源,刪除作業有關資料結構,刪除作業在磁碟輸出井中的資訊,等等。作業終止程序撤除一道作業後,可向作業排程程序請求進行新的作業排程。至此,一道進入系統執行的作業全部結束。

2) 分時系統中作業與程序的關係

在分時系統中,作業的提交方法、組織形式均與批處理作業有很大差異。分時系統的使用者通過命令語言逐條地與系統應答式地輸入命令,提交作業步。每輸入一條(或一組)命令,便直接在系統內部對應一個(或若干個)程序。在系統啟動時,系統為每個終端裝置建立一個程序(稱為終端程序),該程序執行命令解釋程式,命令解釋程式從終端裝置讀入命令解釋執行使用者輸入的每一條命令。對於每一條終端命令,可以建立一個子程序去具體執行。若當前的終端命令是一條後臺命令,則可以和下一條終端命令並行處理。各子程序在執行過程中完全可以根據需要建立子孫程序。終端命令所對應的程序結束後,命令的功能也相應處理完畢。使用者本次上機完畢,使用者通過一條登出命令即結束上機過程。

分時系統的作業就是使用者的一次上機互動過程,可以認為終端程序的建立是一個互動作業的開始,登出命令執行結束代表使用者互動作業的終止。

命令解釋程式流程扮演著批處理系統中作業控制語言解釋程式的角色,只不過命令解釋程式是從使用者終端接收命令。

3) 互動地提交批作業

在同時支援互動和批處理的作業系統中,人們可以用互動的方式準備好批作業的有關程式、資料及作業控制說明書。