技術簡介
SPOOLing技術是低速輸入輸出設備與主機交換的一種技術,通常也稱為“假脫機真在線上”,他的核心思想是以在線上的方式得到脫機的效果。低速設備經通道和外設在主機記憶體的緩衝存儲器與高速設備相聯,該高速設備通常是輔存。為了存放從低速設備上輸入的信息,或者存放將要輸出到低速設備上的信息(來自記憶體),在輔存分別開闢一固定區域,叫“輸出井”(對輸出),或者“輸入井”(對輸入)。簡單來說就是在記憶體中形成緩衝區,在高級設備形成輸出井和輸入井,傳遞的時候,從低速設備傳入緩衝區,再傳到高速設備的輸入井,再從高速設備的輸出井,傳到緩衝區,再傳到低速設備。SPOOLing是SimultaneousPeripheralOperationOn-Line(即外部設備在線上並行操作)的縮寫,它是關於慢速字元設備如何與計算機主機交換信息的一種技術,通常稱為“假脫機技術”。
SPOOLing系統既不同於脫機方式,也不同於直接藕合方式,SPOOLing技術實際上是一種外圍設備同時在線上操作技術,又稱為排隊轉儲技術。它在輸入和輸出之間增加了“輸入井”和“輸出井”的排隊轉儲環節,以消除用戶的“在線上”等待時間。在系統輸入模組收到作業輸入請求信號後,輸入管理模組中的讀過程負責將信息從輸入裝置中讀入輸入井緩衝區。當緩衝區滿時,由寫過程將信息從緩衝區寫到外存的輸入井中,讀過程和寫過程反覆循環,直到一個作業輸入完畢。當讀過程讀到一個硬體結束標誌之後,系統再次驅動寫過程把最後一批信息寫入外存輸入井並調用中斷處理程式結束該次輸入。然後,系統為該作業建立作業控制塊,從而使輸入井中的作業進入作業等待佇列,等待作業調度程式選中後進入記憶體運行。系統在管理輸入井過程中可以“不斷”讀入輸入的作業,直到輸入結束或輸入井滿而暫停。若系統的某台台行式印表機採用了虛擬設備技術,那么若有進程要求對它列印輸出時,SPOOLing系統並不是將這台印表機直接分配給進程,而是在共享設備(磁碟)上的輸出,SPOOLing存儲區中為其分配一塊存儲空間,進程的輸出數據以檔案形式表示的。各進程的數據輸出檔案形成了一個輸出佇列,由輸出POOLing系統控制這台印表機進程,依次將佇列中的輸出檔案實際列印輸出。在SPOOLing系統中,實際上並沒有為任何進程分配,而只是在輸入井和輸出井中,為進程分配一存儲區和建立一章I/O請求表。這樣,便把獨占設備改造為共享設備。
將一台獨享印表機改造為可供多個用戶共享的印表機,是套用SPOOLing技術的典型實例。具體做法是:系統對於用戶的列印輸出,但並不真正把印表機分配給該用戶進程,而是先在輸出井中申請一個空閒盤塊區,並將要列印的數據送入其中;然後為用戶申請並填寫請求列印表,將該表掛到請求列印佇列上。若印表機空閒,輸出程式從請求列印隊首取表,將要列印的數據從輸出井傳送到記憶體緩衝區,再進行列印,直到列印佇列為空。
系統組成
SPOOLing系統組成
由上所述得知,SPOOLing技術是對脫機輸入、輸出系統的模擬。相應地,SPOOLing系統必須建立在具有多道程式功能的作業系統上,而且還應有高速隨機外存的支持,這通常是採用磁碟存儲技術。
SPOOLing系統主要有以下三部分:
(1)輸入井和輸出井。這是在磁碟上開闢的兩個大存儲空間。輸入井是模擬脫機輸入時的磁碟設備,用於暫存I/Q設備輸入的數據;輸出井是模擬脫機輸出時的磁碟,用於暫存用戶程式的輸出數據。
(2)輸入緩衝區和輸出緩衝區。為了緩和和CPU和磁碟之間速度不匹配的矛盾,在記憶體中要開闢兩個緩衝區;輸入緩衝區和輸出緩衝區。輸入緩衝區用於暫存由輸入設備送來的數據,以後再傳送到輸入井。輸出緩衝區用與暫存從輸出井送來的數據,以後在傳送給輸出設備。
(3)輸入進程SPi和輸入進程SP0。這裡利用兩個進程來模擬脫機I/O時的外圍控制機。其中,進程SPi模擬脫機輸入時的外圍控制機,將用戶要求的數據從輸入機通過輸入緩衝區再送到輸入井,當CPU需要輸入數據時,直接從輸入井讀入記憶體;進程SP0模擬脫機輸出時的外圍控制機,把用戶要求輸出的數據從先記憶體送到輸出井,待輸出設備空閒時,在將輸出井中的數據經過輸出緩衝區送到輸出設備上。
技術特點
(1)提高了I/O速度。從對低速I/O設備進行的I/O操作變為對輸入井或輸出井的操作,如同脫機操作一樣,提高了I/O速度,緩和了CPU與低速I/O設備速度不匹配的矛盾。
(2)將獨占設備改造為共享設備。因為在SPOOLing系統的系統中,實際上並沒為任何進程分配設備,而知識在輸入井或輸出井中為進程分配一個存儲區和建立一張I/O請求表。這樣,便把獨占設備改造為共享設備。
(3)實現了虛擬設備功能。多個進程同時使用一獨享設備,而對每一進程而言,都認為自己獨占這一設備,從而實現了設備的虛擬分配。不過,該設備是邏輯上的設備。
SPOOLing除了是一種速度匹配技術外,也是一種虛擬設備技術。用一種物理設備模擬另一類物理設備,使各作業在執行期間只使用虛擬的設備,而不直接使用物理的獨占設備。這種技術可使獨占的設備變成可共享的設備,使得設備的利用率和系統效率都能得到提高.