操作系統:SPOOLing技術(假脫機技術)

一、什麼是脫機技術?
批處理階段引入了脫機輸入/輸出技術(用磁帶完成)
流程如下:
人——> 紙帶機——> 外圍控制機——>磁帶機——>主機——>磁帶機——>外圍控制機——>紙帶機——>人
①在外圍控制器的控制下,慢速輸入設備的數據先被輸入到更快速的磁帶上,之後主機可以從快速的磁帶上讀入數據,從而緩解了速度矛盾
②引入脫機技術之後,緩解了CPU與慢速I/O設備的速度矛盾。另一方面,即使CPU在忙碌,也可以提前將數據輸入到磁帶;即使慢速的輸出設備紙帶機正在忙碌,也可以提前將數據輸出到磁帶

二、假脫機技術(SPOOLing技術)
用軟件的方式實現脫機技術
在這裏插入圖片描述
輸入井/輸出井模擬磁帶機
輸入進程/輸出進程模擬外圍控制機
輸入緩衝區/輸出緩衝區相當於數據中轉站

SPOOLing技術必須有多道程序技術的支持

三、SPOOLing技術的應用—共享打印機
打印機是一種獨佔式設備,但是可以通過SPOOLing技術變爲共享設備。
在這裏插入圖片描述
當多個用戶進程提出打印請求時,系統會答應他們的請求,但是並不是真正的把打印機分配給他們,而是由假脫機管理進程爲每個進程做兩件事:
①在磁盤輸出井中,爲進程申請一個空閒緩衝區,並將要打印的數據送入其中。
②爲用戶進程申請一張空白的打印請求表(包含用戶的打印數據存放位置等信息),並將用戶的打印請求填入表中,再將該表掛到假脫機文件隊列上。
當打印機空閒時,輸出進程會從文件隊列的隊頭取出一張打印請求表,並根據表中的要求將要打印的數據從輸出井中傳送到輸出緩衝區,再輸出打印機進行打印,這種方式可依次處理完全部的打印任務。
雖然系統中只有一個打印機,但是每個進程提出打印請求時,系統都會同意他的請求,並在輸出警鐘爲其分配一個存儲區,相當於分配了一個邏輯設備,使每個用戶進程都能感覺到自己在獨佔一臺打印機,從而實現了打印機的共享。

SPOOLing技術可以把一臺物理設備虛擬成邏輯上的多臺設備,可將獨佔式設備改造成共享設備。

四、總結:
SPOOLing技術的特點:

  • 提高了I/O速度。從對低速I/O設備進行的I/O操作變爲對輸入井或輸出井的操作,如同脫機操作一樣,提高了I/O速度,緩和了CPU與低速I/O設備速度不匹配的矛盾。
  • 將獨佔設備改造爲共享設備。因爲在SPOOLing系統的系統中,實際上並沒爲任何進程分配設備,而只是在輸入井或輸出井中爲進程分配一個存儲區和建立一張I/O請求表。這樣,便把獨佔設備改造爲共享設備。
  • 實現了虛擬設備功能。多個進程同時使用一獨享設備,而對每一進程而言,都認爲自己獨佔這一設備,從而實現了設備的虛擬分配。不過,該設備是邏輯上的設備。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章