微吼云上線多路互動直播服務 加速多場景互動直播落地
1312
2025-03-31
什么是SPOOLing技術
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部設備聯(lián)機并行操作)的縮寫,它是關于慢速字符設備如何與計算機主機交換信息的一種技術,通常稱為“假脫機技術”。它的目的是為了把獨占設備轉換為共享設備,也就是說讓進程都以為自己獨占這個設備,從而達到共享的目的。
SPOOLing技術是低速輸入輸出設備與主機交換的一種技術,通常也稱為“假脫機真聯(lián)機”,他的核心思想是以聯(lián)機的方式得到脫機的效果。低速設備經通道和外設在主機內存的緩沖存儲器與高速設備相聯(lián),該高速設備通常是輔存。為了存放從低速設備上輸入的信息,或者存放將要輸出到低速設備上的信息(來自內存),在輔存分別開辟一固定區(qū)域,叫“輸出井”(對輸出),或者“輸入井”(對輸入)。簡單來說就是在內存中形成緩沖區(qū),在高級設備形成輸出井和輸入井,傳遞的時候,從低速設備傳入緩沖區(qū),再傳到高速設備的輸入井,再從高速設備的輸出井,傳到緩沖區(qū),再傳到低速設備。
SPOOLing系統(tǒng)既不同于脫機方式,也不同于直接藕合方式,SPOOLing技術實際上是一種外圍設備同時聯(lián)機操作技術,又稱為排隊轉儲技術。它在輸入和輸出之間增加了“輸入井”和“輸出井”的排隊轉儲環(huán)節(jié),以消除用戶的“聯(lián)機”等待時間。在系統(tǒng)輸入模塊收到作業(yè)輸入請求信號后,輸入管理模塊中的讀過程負責將信息從輸入裝置中讀入輸入井緩沖區(qū)。當緩沖區(qū)滿時,由寫過程將信息從緩沖區(qū)寫到外存的輸入井中,讀過程和寫過程反復循環(huán),直到一個作業(yè)輸入完畢。當讀過程讀到一個硬件結束標志之后,系統(tǒng)再次驅動寫過程把最后一批信息寫入外存輸入井并調用中斷處理程序結束該次輸入。然后,系統(tǒng)為該作業(yè)建立作業(yè)控制塊,從而使輸入井中的作業(yè)進入作業(yè)等待隊列,等待作業(yè)調度程序選中后進入內存運行。系統(tǒng)在管理輸入井過程中可以“不斷”讀入輸入的作業(yè),直到輸入結束或輸入井滿而暫停。若系統(tǒng)的某臺臺行式打印機采用了虛擬設備技術,那么若有進程要求對它打印輸出時,SPOOLing系統(tǒng)并不是將這臺打印機直接分配給進程,而是在共享設備(磁盤)上的輸出,SPOOLing存儲區(qū)中為其分配一塊存儲空間,進程的輸出數據以文件形式表示的。各進程的數據輸出文件形成了一個輸出隊列,由輸出POOLing系統(tǒng)控制這臺打印機進程,依次將隊列中的輸出文件實際打印輸出。在SPOOLing系統(tǒng)中,實際上并沒有為任何進程分配,而只是在輸入井和輸出井中,為進程分配一存儲區(qū)和建立一章I/O請求表。這樣,便把獨占設備改造為共享設備。
將一臺獨享打印機改造為可供多個用戶共享的打印機,是應用SPOOLing技術的典型實例。具體做法是:系統(tǒng)對于用戶的打印輸出,但并不真正把打印機分配給該用戶進程,而是先在輸出井中申請一個空閑盤塊區(qū),并將要打印的數據送入其中;然后為用戶申請并填寫請求打印表,將該表掛到請求打印隊列上。若打印機空閑,輸出程序從請求打印隊首取表,將要打印的數據從輸出井傳送到內存緩沖區(qū),再進行打印,直到打印隊列為空。
SPOOLing組成
由上所述得知,SPOOLing技術是對脫機輸入、輸出系統(tǒng)的模擬。相應地,SPOOLing系統(tǒng)必須建立在具有多道程序功能的操作系統(tǒng)上,而且還應有高速隨機外存的支持,這通常是采用磁盤存儲技術。
SPOOLing系統(tǒng)主要有以下三部分:
(1)輸入井和輸出井。這是在磁盤上開辟的兩個大存儲空間。輸入井是模擬脫機輸入時的磁盤設備,用于暫存I/O設備輸入的數據;輸出井是模擬脫機輸出時的磁盤,用于暫存用戶程序的輸出數據。
(2)輸入緩沖區(qū)和輸出緩沖區(qū)。為了緩和和CPU和磁盤之間速度不匹配的矛盾,在內存中要開辟兩個緩沖區(qū);輸入緩沖區(qū)和輸出緩沖區(qū)。輸入緩沖區(qū)用于暫存由輸入設備送來的數據,以后再傳送到輸入井。輸出緩沖區(qū)用與暫存從輸出井送來的數據,以后在傳送給輸出設備。
(3)輸入進程SPi 和輸入進程SP0。這里利用兩個進程來模擬脫機I/O時的外圍控制機。其中,進程SPi模擬脫機輸入時的外圍控制機,將用戶要求的數據從輸入機通過輸入緩沖區(qū)再送到輸入井,當CPU需要輸入數據時,直接從輸入井讀入內存;進程SP0模擬脫機輸出時的外圍控制機,把用戶要求輸出的數據從先內存送到輸出井,待輸出設備空閑時,在將輸出井中的數據經過輸出緩沖區(qū)送到輸出設備上。
特點
(1)提高了I/O速度。從對低速I/O設備進行的I/O操作變?yōu)閷斎刖蜉敵鼍牟僮鳎缤摍C操作一樣,提高了I/O速度,緩和了CPU與低速I/O設備速度不匹配的矛盾。
(2)將獨占設備改造為共享設備。因為在SPOOLing系統(tǒng)的系統(tǒng)中,實際上并沒為任何進程分配設備,而只是在輸入井或輸出井中為進程分配一個存儲區(qū)和建立一張I/O請求表。這樣,便把獨占設備改造為共享設備。
(3)實現了虛擬設備功能。多個進程同時使用一獨享設備,而對每一進程而言,都認為自己獨占這一設備,從而實現了設備的虛擬分配。不過,該設備是邏輯上的設備。
SPOOLing除了是一種速度匹配技術外,也是一種虛擬設備技術。用一種物理設備模擬另一類物理設備,使各作業(yè)在執(zhí)行期間只使用虛擬的設備,而不直接使用物理的獨占設備。這種技術可使獨占的設備變成可共享的設備,使得設備的利用率和系統(tǒng)效率都能得到提高。
好了,關于此次操作系統(tǒng)的SPOOLing技術就說到這里了,如有不足之處,歡迎指正!
感恩能與大家在華為云遇見!希望能與大家一起在華為云社區(qū)共同成長。
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。