Buffer和Cache的区别

Buffer

    buffer是一个临时存储区域,通常是内存中的一个块,在等待从输入设备传输到输出设备时,数据被放置在其中。它主要用于输入/输出进程。例如,如果您要打印一个长文档,您不会希望CPU等候在一旁不停的向打印机询问“是否准备好打印下一段?”。相反,CPU将文档数据填充到内存buffer,告知打印机打印buffer内容,然后返回继续处理其他事务。
    如果发送方的传输速度慢于接收方,则会在接收方的主存中创建一个buffer,并积累从发送方接收到的字节。数据的所有字节到达后,它将为接收器提供操作数据。
    当发送方和接收方传输数据的大小不同时,buffer帮助协调。在计算机网络中,buffer用于数据的分片和重组。在发送端,大数据被分割成小数据包并通过网络发送。在接收端,buffer被创建,用来收集所有数据包并将其再次组合成一个大数据。
    buffer还支持应用程序I/O的复制语义。复制语义可以用一个示例来解释,假设应用程序需要将存在buffer里的数据写入硬盘。为此,应用程序调用 write() 系统调用。现在假设应用程序在系统调用返回之前更改buffer数据。在这种情况下,在系统调用时复制语义同时提供数据的原始版本和修改版本。
    buffer有三种容量:
    零容量:这里的buffer内存最大值为零。它不能包含任何数据,就是实时传递,因此接收方收到数据之前,发送方需要被阻止。
    有限容量:这里的buffer内存大小是有限的。发送方最多可以发送n个数据块。如果buffer内存已满,发送方将被阻止,直到内存中有可用空间。
    无限容量:这里的buffer内存可能是无限的。可以发送任意数量的数据块,发送方从不被阻止。(buffer的无限容量实际上是不可能的)

Cache

    cache是计算机中一个较小且快速的内存部件,在CPU和主存之间。cache比主存快得多,采用这种方法(即分级缓存的方法)更经济。
    cache可以是RAM的一部分,也可以是磁盘的一部分。当主磁盘被用作cache时,该过程称为磁盘cache,它也可被用作内存缓存,其中最近使用的数据存储在磁盘cache中。如果一个正在运行的程序想访问磁盘上的数据,它首先检查磁盘缓存,并且只有当所需数据不在磁盘缓存时才检查磁盘。这使得数据访问过程更快,因为从磁盘访问数据要慢得多。

Buffer和Cache的区别
序号BUFFERCACHE
1两个进程交换数据时会产生速度差异,Buffer用于弥补该差异。(用于匹配发送方和接收方之间的传输速度)Cache可以提高重复使用数据的访问速度
2它主要用于输入/输出进程它在磁盘读写过程中使用
3它是RAM上的一个普通存储区域,用于临时存储它是计算机中一个又小又快的内存组件,是一个用于临时存储的高速存储区
4它存储原始数据它存储原始数据的副本
5它总是在主存储器(RAM)中实现。它可以在RAM和磁盘中实现
6它由动态RAM制成它由静态RAM制成
7它可以在键盘上用来校订打字错误它不具备这样的特征
参考文档

[1]ashvika99.Difference between Buffer and Cache[EB/OL].https://www.geeksforgeeks.org/difference-between-buffer-and-cache/,2020-08-21.
[2]Tech Differences.Difference Between Buffering and Caching in OS[EB/OL].https://techdifferences.com/difference-between-buffering-and-caching-in-os.html,2021-01-01.
[3]Zablon.Difference Between Cache and Buffer[EB/OL].http://www.differencebetween.net/technology/hardware-technology/difference-between-cache-and-buffer/,2011-07-05.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值