作者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