Spooling技術

轉自https://blog.csdn.net/weixin_42229896/article/details/80736517
spa

假脫機的概念.net

SPOOLing技術:利用高速共享設備(一般是磁鼓或者是磁帶)將低速的獨享設備模擬爲高速的共享設備,這樣,從邏輯上講,計算機系統爲每個用戶都分配了一臺獨立的高速獨享設備。 
3d

假脫機技術的組成

假脫機技術有輸入井和輸出井、輸入緩衝區和輸出緩衝區、輸入進程和輸出進程、請求打印隊列組成。
其系統圖以下所示:
 

 

輸入輸出井

它們是在磁盤上開闢的兩大存儲區。輸入井是模擬脫機輸入時的磁盤,用於收容輸入設備輸入的數據;輸出井是模擬脫機輸出時的磁盤,用於收容用戶程序的輸出數據。

輸入緩衝區和輸出緩衝區

它們是在主存中開闢的兩個緩衝區。輸入緩衝區用於暫存由輸入設備送來的數據,之後再傳送到輸入井;輸出緩衝區用於暫存從輸出井送來的數據,之後再傳送給輸出設備。

輸入進程和輸出進程

輸入進程模擬脫機輸入時的外圍控制機,將用戶要求的數據從輸入設備,經過輸入緩衝區送到輸入井。當CPU須要數據時,直接從輸入井讀入主存;輸出進程模擬脫機輸出時的外圍控制機,把用戶要求輸出的數據,先從主存送到輸出井,待輸出設備空閒時,再將輸出井中的數據,通過輸出緩衝區送到輸出設備上。

請求打印隊列

由若干張請求打印表所造成的隊列,系統爲每一個請求打印的進程創建一張請求打印表。

假脫機的技術原理

       它在輸入和輸出之間增長了「輸入井」和「輸出井」的排隊轉儲環節,以消除用戶的「聯機」等待時間。在系統輸入模塊收到做業輸入請求信號後,輸入管理模塊中的讀過程負責將信息從輸入裝置中讀入輸入井緩衝區。當緩衝區滿時,由寫過程將信息從緩衝區寫到外存的輸入井中,讀過程和寫過程反覆循環,直到一個做業輸入完畢。當讀過程讀到一個硬件結束標誌以後,系統再次驅動寫過程把最後一批信息寫入外存輸入井並調用中斷處理程序結束該次輸入。而後,系統爲該做業創建做業控制塊,從而使輸入井中的做業進入做業等待隊列,等待做業調度程序選中後進入內存運行。系統在管理輸入井過程當中能夠「不斷」讀入輸入的做業,直到輸入結束或輸入井滿而暫停。blog

       以打印機爲例:若系統的某臺打印機採用了虛擬設備技術,那麼如有進程要求對它打印輸出時,SPOOLing系統並非將這臺打印機直接分配給進程,而是在共享設備(磁盤)上的輸出,SPOOLing存儲區中爲其分配一塊存儲空間,進程的輸出數據以文件形式此。各進程的數據輸出文件造成了一個輸出隊列,由輸出POOLing系統控制這臺打印機進程,依次將隊列中的輸出文件實際打印輸出。在SPOOLing系統中,實際上並無爲任何進程分配,而只是在輸入井和輸出井中,爲進程分配一存儲區和創建一章I/O請求表。這樣,便把獨佔設備改造爲共享設備。隊列

假脫機的特色

(1)提升了輸入輸出速度

SPOOLing技術提升了I/O速度.從對低速I/O設備進行的I/O操做變爲對輸入井或輸出井的操做,如同脫機操做同樣,提升了I/O速度,緩和了CPU與低速I/O設備速度不匹配的矛盾。

(2)將獨佔設備改造爲共享設備

因爲SPOOLing技術把全部用戶進程的輸出都送入輸出井,而後再由輸出進程完成打印工做,而輸出井在磁盤上,爲共享設備。這樣,SPOOLing技術就把打印機等獨佔設備改形成立共享設備。

(3)實現了虛擬設備功能

因爲SPOOLing技術實現了多個用戶進程共同使用打印機這種獨佔設備的狀況,從而實現了把一個設備當成多個設備來使用,即虛擬設備的功能。
相關文章
相關標籤/搜索