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