磁盘缓存
来源:互联网 发布:js tostring 方法 编辑:程序博客网 时间:2024/05/19 07:10
磁盘缓存,又称磁盘快取,实际上就是将下载到的数据先保存于系统为软件分配的内存空间中(这个内存空间被称之为“内存池”),当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏。磁盘缓存是为了减少CPU透过I/O读取磁盘机的次数,提升磁盘I/O的效率,用一块内存来储存存取较频繁的磁盘内容;因为内存的存取是电子动作,而磁盘的存取是I/O动作,感觉上磁盘I/O变得较为快速。相同的技巧可用在写入动作,我们先将欲写入的内容放入内存中,等到系统有其它空闲的时间,再将这块内存的资料写入磁盘中。磁盘缓存分类编辑
磁盘缓存分为读缓存和写缓存。读缓存是指,操作系统为已读取的文件数据,在内存较空闲的情况下留在内存空间中(这个内存空间被称之为“内存池”),当下次软件或用户再次读取同一文件时就不必重新从磁盘上读取,从而提高速度。写缓存实际上就是将要写入磁盘的数据先保存于系统为写缓存分配的内存空间中,当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏,也能减少写入所需的时间。磁盘缓冲方式编辑
根据写入方式的不同,有写通式和回写式两种。写通式在读硬盘数据时,系统先检查请求指令,看看所要的数据是否在缓存中,如果在的话就由缓存送出响应的数据,这个过程称为命中。这样系统就不必访问硬盘中的数据,由于SDRAM的速度比磁介质快很多,因此也就加快了数据传输的速度。回写式就是在写入硬盘数据时也在缓存中找,如果找到就由缓存就数据写入盘中,现在的多数硬盘都是采用的回写式缓存,这样就大大提高了性能。缓存英文名为 Cache。CPU 缓存也是内存的一种,其数据交换速度快且运算频率高。磁盘缓存则是操作系统为磁盘输入输出而在普通物理内存中分配的一块内存区域。硬盘的缓冲区编辑
硬盘的缓冲区是硬盘与外部总线交换数据的场所。硬盘的读数据的过程是将磁信号转化为电信号后,通过缓冲区一次次地填充与清空,再填充,再清空,一步步按照PCI总线的周期送出,可见,缓冲区的作用是相当重要的。它的作用也是提高性能,但是它与缓存的不同之处在于:一、它是容量固定的硬件,而不像缓存是可以由操作系统在内存中动态分配的。二、它对性能的影响大大超过磁盘缓存对性能的影响,因为如果没有缓冲区,就会要求每传一个字(通常是4字节)就需要读一次磁盘或写一次磁盘。
硬盘的缓存主要起三种作用:1预读取当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的。对写入动作进行缓存 2是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地。临时存储最近访问过的数据 3是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。缓存就像是一台计算机的内存一样,在硬盘读写数据时,负责数据的存储、寄放等功能。这样一来,不仅可以大大减少数据读写的时间以提高硬盘的使用效率。同时利用缓存还可以让硬盘减少频繁的读写,让硬盘更加安静,更加省电。更大的硬盘缓存,你将读取游戏时更快,拷贝文件时候更快,在系统启动中更为领先……
0 0
- 磁盘缓存
- 磁盘缓存
- 磁盘缓存
- 磁盘缓存
- 内存缓存+磁盘缓存
- SDWebImage内存缓存 磁盘缓存
- Android DiskLruCache磁盘缓存
- 磁盘缓存 DiskLruCache
- 相册磁盘缓存分析
- Part1:Volley磁盘缓存
- UniversalImageLoader加密磁盘缓存
- Android 磁盘缓存 DiskLruCache
- 操作系统磁盘缓存
- 磁盘缓存DiskLruCache源码
- imageloader磁盘缓存问题
- DiskLruCache磁盘缓存
- Banner 内存 磁盘 缓存
- Android DiskLruCache(磁盘缓存)
- 无法识别的配置节 system.serviceModel。
- 一个简单的jsp网页与MySQL链接的简单账户管理网页
- java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils异常
- 【CoreData】 简单地使用
- mongodump & mongorestore
- 磁盘缓存
- 集群
- 读取文件夹下的文件列表
- NPOI2.2.0.0实例详解(一)—NPOI的下载与引用
- java统计中文字符出现次数
- 南大软院大神养成计划第十九天
- mybatis+springmvc+maven+Extjs配置
- 从源码中分析Hadoop的RPC机制
- HTML5新特性总结