操作系统中缓冲与缓存之间的区别

作者: Laura McKinney
创建日期: 2 四月 2021
更新日期: 11 可能 2024
Anonim
操作系统原理 清华大学 5.1 虚拟内存的起因
视频: 操作系统原理 清华大学 5.1 虚拟内存的起因

内容


大多数人对缓冲和缓存一词感到困惑。虽然两者都暂时保存数据,但是它们彼此不同。 正在缓冲 基本上用于匹配er和接收器之间的传输速度。另一方面, 快取 加快重复使用数据的访问速度。它们还具有一些其他差异,这些差异已在下面的比较表中进行了讨论。

内容:缓冲与缓存

  1. 比较表
  2. 定义
  3. 关键差异
  4. 结论

比较表

比较基础正在缓冲快取
基本的 缓冲与数据流的er和接收器之间的速度匹配。缓存可以加快重复使用的数据的访问速度。
专卖店 缓冲区存储数据的原始副本。缓存存储原始数据的副本。
位置缓冲区是主存储器(RAM)中的区域。缓存是在处理器上实现的,它也可以在RAM和磁盘上实现。

缓冲的定义

缓冲是主存储器(RAM)中的一个区域,用于在两个设备之间或设备与应用程序之间传输数据时临时存储数据。缓冲有助于 匹配er和接收器之间的速度 数据流。如果er的传输速度比接收器慢,那么将在接收器的主存储器中创建一个缓冲区,并累积从er接收的字节。数据的所有字节到达后,它将为接收器提供操作数据。

缓冲也有帮助 当er和接收器具有不同的数据传输大小时。在计算机网络中,缓冲区用于 碎片化重新组装 数据的。在另一端,大数据被分段为小数据包并通过网络。在接收器端,将创建一个缓冲区,该缓冲区收集所有数据包并重新组合以再次创建大数据。


缓冲还支持 复制应用程序I / O的语义。复制语义可以用一个例子来解释,假设一个应用程序有一个要写入硬盘的数据缓冲区。为此,应用程序调用write()系统调用。现在假设应用程序在系统调用返回之前更改缓冲区数据。在这种情况下,在系统调用时,复制语义提供了数据的版本。

缓冲区以三种能力实现。

零容量: 此处最大缓冲存储器大小为零。它不能包含任何数据,因此必须阻止er,直到接收器接收到数据为止。

有界容量: 在这里,缓冲存储器的大小是有限的。最多,er可以n个数据块。如果缓冲存储器已满,则将阻止er直到存储器中的空间可用。

无限容量: 在这里,缓冲存储器可能是无限的。可以发送任意数量的数据块。永远不会被阻止。

缓存的定义

缓存是在处理器中实现的内存, 存储原始数据的副本。缓存背后的想法是,最近访问的磁盘块必须存储在缓存中,以便当用户再次需要访问相同的磁盘块时,可以通过缓存在本地进行处理,从而避免了网络流量。

缓存大小是有界的,因为它仅包含最近使用的数据。修改缓存文件时,您也可以在原始文件中查看该修改。如果您需要的数据不在高速缓存中,则将数据从源复制到高速缓存中,以便下次用户请求该数据时可以使用。

缓存数据也可以保存在磁盘上而不是RAM上,因为它的优点之一是 磁盘缓存 是可靠的。万一系统崩溃,缓存的数据在磁盘上仍然可用。但是数据将丢失在RAM等易失性存储器中。但是将缓存的数据存储在其中的一个优势 内存 是它将被访问 快速.

  1. 缓冲区和高速缓存之间的主要区别在于,缓冲区存储用于应对数据流的er和接收方之间的不同速度,而高速缓存是用于存储数据的存储器,因此可以提高重复使用数据的访问速度。
  2. 缓冲区始终携带 原始数据 发送给接收者。但是,缓存会携带 原始数据的副本.
  3. 缓冲区始终在 主记忆 (RAM),但是可以在以下位置实现缓存 内存 以及在 磁碟.

结论:

缓冲和高速缓存都临时存储数据,但是两者都用于不同的目的。缓冲区与两个通信设备之间的速度相匹配,而缓存则加快了对重复访问的数据的访问。