多道程序

多道程序

多道程序,此種設計技術是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制下,相互穿插運行。

主要介紹


多道程序設計技術是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制下,相互穿插運行。
多道程序運行的特徵是:
1多道:即計算機內存中同時存放幾道相互獨立的程序。
2宏觀上并行:同時進入 系統的幾道程序都處於運行過程中,即它們先後開始了各自的運行,但都未運行完畢。
3微觀上串列:從微觀上看,內存中的多道程序輪流地或分時地佔有處理機。
多道程序轉換
作業、進程調度
一、創建作業:
作業是以文件的方式存放在磁碟上的。在創建作業時,數據按照一定的格式寫入文件,文件標以相同的類型(後綴名為*.job)存放在同一路徑os\book\中。模擬運行時,程序在該路徑上自動搜索所有的同類型(*.job)文件,從中讀出數據,並整理出其它相應的信息,提供給調度程序使用。
下圖給出了創建作業的流程圖,它是一個單獨的單元,為了便於操作,程序將隨機模式作業創建放在統一圖形界面上操作,而指定模式由後備程序creatjob.exe在DOS模式下以文本方式創建。
創建作業有指定模式、隨機模式,對隨機模式可以在設置參數后根據設置自動生成作業文件。文件的格式為:命令詞、執行時間。其中命令詞定義如下:
C:在CPU上運行;
D: 程序延遲
I:接受輸入
O:程序輸出
W:程序等候
H:程序退出
作業的第一組數據不是提供給程序執行的命令行,而是一組特殊的數據,該組數據中的第一個數據表示所設置的作業優先順序,用字元表示,按照字元的序號遞增比較級較高的方法來設置。“程序延遲”是指程序在CPU上的睡眠時間,是執行時間,而“程序等候”是將進程送入等候排列等候,是等候時間。這兩者是有區別的。
三、進程調度:
前面已經講過作業調度,並簡要地介紹了作業調度與進程調度及整個程序之間的協調關係,下面我們重點來說一說進程調度的驅動作用,因為沒有這種驅動作用,程序的自動調度是不可能實現的。
從上面這幅圖可以看出,程序的驅動源是位於CPU處理單元的時間片輪轉(這是一種最簡單的進程調度策略),CPU處理單元是一個真正的模擬中央處理機的單元,所有的信息都反饋到這裡,然後由它統一控制其它各種模塊,各個功能模塊根據CPU處理單元傳送過來的信息,獨立實施它應該完成的動作,怎麼樣?真有點DCS(集散控制系統)的味道吧!
CPU處理單元處理信息的依據是當前各個作業、進程的狀態,進程式控制制塊的信息和作業數據,這三個方面的內容是缺一不可的,當前各個作業、進程的狀態為它提供動作決策,進程式控制制塊的信息提供動作的實施方案,而作業數據則為動作的實施提供數據資源。