Buffer和Cache的区别

1、buffer(缓冲)

是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的。

2、cache(缓存)

从CPU角度考虑,是为了提高cpu和内存之间的数据交换速度而设计的,例如平常见到的一级缓存、二级缓存、三级缓存。


cpu在执行程序所用的指令和读数据都是针对内存的,也就是从内存中取得的。由于内存读写速度慢,为了提高cpu和内存之间数据交换的速度,在cpu和内存之间增加了cache,它的速度比内存快,但是造价高,又由于在cpu内不能集成太多集成电路,所以一般cache比较小,以后intel等公司为了进一步提高速度,又增加了二级cache,甚至三级cache,它是根据程序的局部性原理而设计的,就是cpu执行的指令和访问的数据往往在集中的某一块,所以把这块内容放入cache后,cpu就不用在访问内存了,这就提高了访问速度。当然若cache中没有cpu所需要的内容,还是要访问内存的。


从内存读取与磁盘读取角度考虑,cache可以理解为操作系统为了更高的读取效率,更多的使用内存来缓存可能被再次访问的数据。


缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写入磁盘),也可以通过sync命令手动清空缓冲。


简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。 buffer是由各种进程分配的,被用在如输入队列等方面。一个简单的例子如某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存。


cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被做成cache以方便下次被访问,这样可提高系统性能。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90790

(0)
小白Linux小白Linux
上一篇 2018-01-02 19:34
下一篇 2018-01-03 08:59

相关推荐

  • Linus Torvalds 语录 Top 10

    下面是Linux的创始人Linus Torvalds的一些言论,这是我个人认为最有意思的10句。如果你想看更多的Linus Torvalds说过的话,你可以看看他在维基百科上的词条:Linux Torvalds。我们在下面给出中英文对照,希望你能喜欢。 “Really, I’m not out to dest…

    Linux干货 2015-04-03
  • Yacc 与 Lex 快速入门(词法分析和语法分析)

    Lex 代表 Lexical Analyzar。Yacc 代表 Yet Another Compiler Compiler。 让我们从 Lex 开始吧。 Lex Lex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 这些词汇模式(或者常规表达式)在一种特殊的句子结构中定义,这个我们一会儿就要讨论。 一种匹配的常规表达式可能会包含相关的动作…

    Linux干货 2015-06-08
  • 马哥教育网络班20期+第九周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash export nolginbash export otherbash for i in `grep -o…

    Linux干货 2016-08-09
  • 网络知识

    网络知识 一、网络初识 1.网络概念  在计算机领域中,网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。 2.分类 按覆盖范围分: 局域网LAN(作用范围一般为几米到几十公里)。 城域网MAN(界于WAN与LAN之间)。 广域网WAN(作用范围一般为几十到几千公里)。 按拓扑结构分类: 总线型 …

    Linux干货 2016-09-01
  • CentOS6 ELK实现

    1 简介 我们来介绍Centos6.5基于SSL密码认证部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同时为大家介绍如何集合如上组件来收集日志,本章的日志收集主要为大家介绍SYSTEM日志收集. 集中化日志收集主要应用场景是在同一个窗口临时性或永久性鉴定分析系统,应用等各类日志,对用户提供极大便利,同时也…

    2015-02-15
  • 用户管理、三种权限、三种特殊权限的使用

    用户管理、三种权限、三种特殊权限的使用 一、用户管理 1、软链接:ln  -s  相对于软链接的路径/绝对路径   软链接文件    硬链接:ln  相对路径原文件   硬链接文件 2、getent的使用    gentent p…

    系统运维 2016-08-05