第6章_输入输出系统-11.ppt

第6章_输入输出系统-11

脱机输入/输出(Off-Line I/O)方式 * 为了加快输入和输出速度,提高设备利用率,人们又引入了双缓冲区机制,也称为缓冲对换(Buffer Swapping)。在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时OS可以从第一缓冲区中移出数据,并送入用户进程。接着由CPU对数据进行计算。 * 若我们在实现两台机器之间的通信时,仅为它们配置了单缓冲,那么它们之间任意时刻都只能实现单方向的数据传输,而绝不允许双方同时向对方发送数据。为了实现双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区,另一个用作接受缓冲区。如图示 * 当输入与输出或生产者与消费者的速度基本相匹配时,采用双缓冲能获得较好的效果,可使生产者和消费者基本上能并行操作。但若两者的速度相差甚远,双缓冲的效果不够理想,但随着缓冲区数量的增加,情况有所改善。因此,又引入了多缓冲机制,可以将缓冲区组织成循环缓冲形式。 * Getbuf过程。当计算进程要使用缓冲区中的数据时或是输入进程要往缓冲区中输送数据时,可调用该过程。 Getbuf: 取nextg对应缓冲区提供使用,将Nextg置为空,Nextg=(Nextg+1)Mod N 将Nexti对应缓冲区提供使用,将Nexti置为满,Nexti=(Nexti+1)Mod N * Releasebuf过程。当计算进程把C缓冲区中的数据提取完毕

文档评论(0)

1亿VIP精品文档

相关文档