精華區beta CSSE 關於我們 聯絡資訊
※ 引述《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)
nhnlt:3q! 10/22 21:13
nhnlt:^^ 10/22 21:13