作者ggg12345 (ggg)
看板CSSE
標題Re: [問題] 請問Buffering 和Spooling的不同?
時間Fri Oct 17 23:37:08 2008
※ 引述《nhnlt ( bb客)》之銘言:
: 標題: [問題] 請問Buffering 和Spooling的不同?
: 我在書上看到說,Spooling是可以同時對多個工作做CPU computation和I/O
spool 最常舉的例子是使用多個 mini-disk 代替 card reader 的輸入與
line printer 的輸出, 也就是每個 job 都有用 mini-disk 代替與對應的
virtual card reader 與 virtual line printer. 但實質上整個系統可能
只有一台實體的 card reader 與 line printer 而已. 不同 job 的列印輸
出是不可以交錯出現在列印的同一頁面的.
:
: Buffering則是同一時間內,只能對同一個工作做CPU computation和I/O~
Buffer 通常舉的例子是個單進單出的大水箱(池), 上端進水口大但不連續
進水, 下端出水口小但卻是可以持續不停的流出, 也就是用於緩衝快速進水
使之能保留在池子中不要溢出. 每個 job 資料輸出就只接一個緩衝池再接
到低速的輸出裝置(例如低速持續的列印).
:
如果個兩個以上的 job 都把輸出倒進同一個池子(一個池子兩個進水口),
此時低端的出水口, 其輸出的資料就混雜著出來, 也就是交錯列印, 這種
使用方式的列表機一定沒人敢用了.
:
: 可是東想西想這兩者的原理,又覺得很奇怪~
:
假設有三個 job 的輸出列印要使用 spooling system , 此時會配置三
個 mini-disk 當 virtual printer , 各 mini-disk(virtual printer)
上的列印資料需等 job 執行完, 擁有完整的一份報表才會送到 printer
列印, 此時 printer 的輸入端可以裝一個 buffer 以緩衝 mini-disk 與
printer 列印的不等速度匹配.
spool 是提供多條可以並行工作的通道(virtual I/O)
buffer 是緩衝不同速度裝置間的正確匹配銜接
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.4.12
※ 編輯: ggg12345 來自: 140.115.4.12 (10/17 23:42)
1F:推 nhnlt:3q! 10/22 21:13
2F:→ nhnlt:^^ 10/22 21:13