当前位置:首页 » 硬盘大全 » 文件流操作缓存的作用
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

文件流操作缓存的作用

发布时间: 2023-01-21 08:33:35

缓存文件夹的作用是什么

电脑缓存文件夹的作用和处理
无论你使用的是哪一种浏览器,其中的磁盘缓存将直接决定你浏览器的工作效率,尽管缓存是一种改善浏览器性能极为有效的一种手段,但使用不当也许会影响你工作。
1.浏览器磁盘缓存的工作原理
当设置一定量的磁盘缓存后,浏览器上网工作时会把从网上读出的网页、图像以及其它数据存放在磁盘缓存之中,并建立相应的文档索引。在浏览器以后的工作中,将首先检查磁盘缓冲区中是否存在相应的数据,如果有,则直接从本地磁盘上读出,不再从网上下载,所节省的时间是显而易见的。
2.浏览器确实需要一定量的缓存
从上面的原理可以看出,磁盘缓存的存在是相当必要的,并且需要一定的容量。
如果缓存容量设置的太小,所能存放的数据量小,大部分数据需要重复下载,并且系统自动频繁清除缓存中的数据,会使浏览速度明显下降。
3.磁盘缓存不可设置太大
浏览器的缓存作用虽大,但切记不可设置太大,当你的磁盘缓存中存放的数据量过于庞大时,浏览器每打开一个网页前将搜索冗长的文档,会使你的硬盘频繁工作,所需要的时间将长于从网上下载数据的时间。在这种情况下,磁盘缓存就失去了应有的作用。
4.缓存多少为好
这个问题我个人认为没有固定的标准,要视硬盘、机器的速度来灵活调整。当你无法找到设置缓存长度的依据时,使用浏览器的缺省参数即可。如果硬盘的容量可观,可适当加大一些,如果机器的速度太慢,可适当减小一些。因为主频低的机器查找硬盘文档需要的时间更长,具体可通过观察浏览器和硬盘工作的状态而定;
5.缓存可能导致浏览器故障
磁盘缓存有时确实可以导致浏览器故障,最为典型的现象有两种。一种就是上面所提到的,有时打开一个网页时硬盘不停的工作,需要很长的时间才有反应。这是因为缓存太长以及缓存中数据太多造成的。另外一种现象就是浏览器干脆不工作,无法打开任何网页。这是因为缓存中的数据文档混乱或者已经破坏造成的。解决上述故障的办法是减小缓存尺寸或者清理缓存中的数据。
6.缓存在哪里
每种浏览器都把一个特殊的文件夹作为缓存使用,在系统的缺省状态下,IE(包括3.0和4.0等版本)的磁盘缓存在 “WINDOWSTemporary InternetFiles”文件夹中.
7.清除缓存的方法
IE浏览器和网景的高版本浏览器均带有自动清除磁盘缓存功能,比如在IE4.0中通过菜单“查看”---“internet选项”-“常规”打开设置页面,按上“internet临时文件”栏中的“删除文件”按钮即可;在NETSCAPE通信4.03版本中通过菜单“编辑”---“首选项”打开设置窗口,选择“高级”中的“缓存”窗口,按下“清磁盘缓存”按钮即可;对于低版本的不具备自动删除功能的浏览器,可直接删除缓存文件夹中的内容,同样上述的任何浏览器也可采取这种方法清除缓存,并且极为彻底。
8.使用缓存后需要注意的一些问题
使用缓存后最容易产生的问题是,网页不能自动更新,虽然缓存的工作方式理论上可自动检测网页是否更新,但实际使用中往往每次都是读出的旧网页内容,这样网上内容发生变化时你也不会了解。最为简单的方法是必须随时按下浏览器的“重读”或“Reload”按钮;也可在浏览器中进行相应设置,IE在缓存设置页面中都具有检查新网页设置项,一般为三种选择“每页时检查”、“每次启动时检查”及“从不检查”,可根据需要进行设置。
9.更改缓存位置
高版本的浏览器缓存位置是可以改变的,可以选择任一个文件夹作为缓存,这一点非常有用,比如在C盘空间紧张时把缓存移到其它分区,还有为了方便可把缓存放到一个易操作的地方比如桌面上。IE的修改方法如下:
先在适当地方建立一个文件夹,之后通过“查看”---“internet选项”-“常规”打开设置页面,按下“internet临时文件”中的“高级”按钮,再按下“移动文件夹”并指定你新建的目录即可;在NETSCAPE导航器中通过菜单“编辑”---“首选项”打开设置窗口,选择“高级”中的“缓存” 窗口,按下“选择文件夹”
按钮即可。
10.设置缓存大小
IE6.0设置缓存方法如下: 打开“查看”菜单中的“Internet选项”,按下“internet临时文件”栏中的“设置”按钮,通过移动滑动杆即可改变缓存的大小;

数据库缓存机制是什么就是缓存是如何作用数据库的越详细越好。要对的。

缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。

⑶ 缓存什么意思

缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或者32M的缓存。

⑷ C#中的文件缓冲的流是什么意思Flush的执行流程是什么缓冲区的功能是什么

你写了一个程序,其中要对硬盘上的一个文件操作,FileStream fs = new FileStream(fileName)

这样就是建立了一个文件缓冲流,换句话的意思就是说你通过这条程序,计算机给了一一块内存空间,但是呢这块内存空间不是你想干什么就干涉么的,他是专门存fileName这个文件里面的内容的,内存空间的大小,和其他信息,简单地操作时没有办法访问的。当你要从文件里面读取一个Int整数的时候,程序做的不仅仅是读取一个int型整数,他会把该数据附近的一大块数据都读出来放在刚才的那块空间中,为什么这么做呢,因为CPU访问硬盘比访问内存慢多了,所以一开始读出很多的数据,后面需要使用的时候直接使用读出来的,就防止了再次访问硬盘。

相应的,你要网文件里面写入数据,也是先存到这个内存里,等存的东西足够多了,或者过了足够的时间,系统一次性把内容写入硬盘。

Flush的作用就是强制执行了一次把数据写出硬盘,这样,你写入的数据确实到了文件中,否则如果程序突然中断,你要写入的内容也许还没写到文件中,就造成了数据丢失。

⑸ 文件缓存是什么

高速缓存英文是cache。一种特殊的存储器子系统,其中复制了频繁使用的数据,以利于CPU快速访问。存储器的高速缓冲存储器存储了频繁访问的 RAM 位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM 存储器速度快,所以当 RAM 的访问速度低于微处理器的速度时,常使用高速缓冲存储器。

L1高速缓存,也就是我们经常说的一级高速缓存。在CPU里面内置了高速缓存可以提高CPU的运行效率。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。采用回写(Write Back)结构的高速缓存。它对读和写*作均有可提供缓存。而采用写通(Write-through)结构的高速缓存,仅对读*作有效。在486以上的计算机中基本采用了回写式高速缓存。在目前流行的处理器中,奔腾Ⅲ和Celeron处理器拥有32KB的L1高速缓存,奔腾4为8KB,而AMD的Duron和Athlon处理器的L1高速缓存高达128KB。

L2高速缓存,指CPU第二层的高速缓存,第一个采用L2高速缓存的是奔腾 Pro处理器,它的L2高速缓存和CPU运行在相同频率下的,但成本昂贵,市场生命很短,所以其后奔腾 II的L2高速缓存运行在相当于CPU频率一半下的。接下来的Celeron处理器又使用了和CPU同速运行的L2高速缓存,现在流行的CPU,无论是AthlonXP和奔腾4,其L2高速缓存都是和CPU同速运行的。除了速度以外,L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达1MB-3MB。

——》1,高速缓存(Cache),全称“高速缓冲存储器”。

——》2,例如:当CPU处理数据时,它会先到高速缓存中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从主内存中读取数据——由于CPU的运行速度一般比主内存快,因此若要经常存取主内存的话,就必须等待数个CPU周期从而造成浪费。

——》3,提供“高速缓存”的目的是为了让数据存取的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”。

——》4,现在Cache的概念已经被扩充了:不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘高速缓存),乃至在硬盘与网络之间也有某种意义上的“Cache”(Internet临时文件夹)。

——》5,凡是位于速度相差较大的两种硬件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache。

——》6,所以硬盘和内存之间的Cache就叫做磁盘高速缓存。它是在内存中开辟一块位置,来临时存取硬盘中的数据。这项技术可使计算机读写时的存储系统平均数据传输率提高5-10倍,适应了当前激增的海量数据存储需求。

——》7,在DOS时代,我们用:
smartdrv 内存容量
命令来加载硬盘高速缓存。自从有了Windows后,我们就不需要加载硬盘高速缓存了,因为Windows本身有自己的高速缓存管理单元,如果强行使用smartdrv命令加载,反而会影响Windows的性能。

——》8,我们在用硬盘安装Win2000/XP时候,系统会提示加载高速缓存,这是因为在安装的初期还是DOS操作,所以为了达到读存的速度,安装程序要求加载高速缓存

⑹ 系统缓存起什么作用

理解缓存

操作系统的任务主要是合理地调配系统的各种资源,为各种程序的运行提供环境,它可以看作是硬件和应用软件之间的一个媒介。其中对内存的管理是系统的最主要的职责,怎么样使有限的内存用在刀刃上,怎么要保证系统本身所需的内存(以防止死机,在win2000和winxp里这一点已经做的非常好了),怎样克服各种硬件连接的瓶颈。

本文主要就这种硬件连接的瓶颈问题展开一些讨论。大家知道计算机的主要硬件,硬盘,内存和处理器之间的速度是不一样的,其中处理器的速度是非常快的,内存次之,而硬盘的速度是很慢的(相对于处理器来说),一件任务的处理要通过处理器给出的指令,把相关数据从硬盘里调出来,到内存,在内存和处理器之间还会有许多数据的传输,内存本身不能处理数据,要通过处理器来处理,当他们一起工作的时候,由于处理器和内存工作得快,它们常在把事做完了没事做了,要等硬盘,这样就大大降低了系统的整体性能,不能发挥所有硬件的性能。为了解决这个问题,一个优秀的操作系统必然要有“缓存”来作为这些硬件之间的一个中间站,来缓和这种矛盾,从而一定程度上提高系统的性能,“缓存”处理的越好,系统的性能发挥的越好。所以研究“缓存”就有了它的意义。

看了上面的内容,以前对“缓存”没有认识的朋友应该理解它了。理解之后马上可以应用的地方就是在自购兼容机的时候。大家大可不必去追赶潮流,买什么P4处理器,而应该买一个快一点的硬盘,比如买个7200转的(或更快的),以减少瓶颈的矛盾。处理器吗,买赛扬好了,一般是没问题的,处理器大多数时候是闲着的,有时处理很多个大任务时可能会有些紧张,注意避免就可以了。

从某种角度讲,内存本身是硬盘和处理器之间的一个缓存,它的作用是缓解硬盘和处理器之间的尖锐矛盾的。当它被作为一个固定的部件后,它本身也成了需要用缓存来缓解瓶颈的对象。它对处理器和硬盘夹在中间,是他们的必经之路,硬盘与处理器之间的关系成了硬盘与内存和内存与处理器之间的双重关系。所以上面提到的瓶颈问题的处理归结为对内存的优化,即怎样处理好硬盘与内存之间的缓存很处理器与内存之间的缓存。

对于一个想了解操作系统的人来说,能够理解“缓存”对对它做适当的优化是比不可少的一节课。另外再不从一下,缓存的概念是很广泛的,这里专指内存的缓存。
缓存的优化

操作系统本身已经有了很多优化措施,而我们只能在它的优化措施的基础上根据我们的实际情况来优化。

1,最“着名”的缓存是页面文件,这个倒不是缓解速度的,而是缓解容量的,在速度上,硬盘不如内存,但是容量上,内存是不可能跟硬盘比的,当你运行一个程序需要大量数据,占有大量内存时,内存就要被塞满,怎么办呢?把那些暂时不用的放到硬盘里去,因为处理器总是只调用处理一个任务所需的数据,其他的准备的数据(就是那些可能要用的,但暂时还不用的)可以先放一放,如果内存放不下,就只好放到硬盘了。但是这样做是有代价的,当放到内存的数据重新要被使用时,你就得等很长时间等系统把在硬盘中得数据调上来。其实你可以感受到系统的这些动作,比如你打开IE或Office,第一次打开是很慢的,但是关闭后马上再打开就快很多,这是因为这时数据还没被系统“请”出内存,系统从内存中直接取得数据自然快了;另一个情况,当你开了一个photoshop这样的大软件,这时打开Office要比平时还慢一点,这是因为内存本来被photoshop占领着,要调入Office的数据到内存就必须把photoshop的数据“请”出内存,多了这个过程,打开自然要慢一些。

优化页面文件,可以做一下几条:

1)把页面文件放到系统盘之外,这样做主要是为了保持页面文件的连续性,硬盘读取数据是靠磁头在磁性物质上“读”得到数据的,页面文件放在物理上的不同区域,磁头就要跳来跳去,自然不利于效率。系统盘文件众多,页面文件几乎肯定不连续。所以要把它移到其他盘。要提醒一点,当你移动好页面文件后,要把原来的删除掉,系统不会自动删除。

2)如果有两个硬盘,把页面文件放在转速快的那个,原因上面已讲了很多遍了。

3)最大最小页面文件的设置原则。有很多人建议将这两个值设置成相等的,我不知道他们是那里来的依据,其实这样设置是不合理的。我们先要知道他们两个值的意义。一般情况下,内存是不会真的“塞满”,它会在内存储量到达一定程度时自动将一部分暂时不用的数据放到硬盘,最小页面文件是所说的“一定程度”的具体比例的决定因素,最小页面文件大,比例就低,反之则相反;最大页面文件是极限值,有时你开了很多程序,内存和最小页面文件都满了,就自动溢出到最大页面文件。所以,将两者设为一样大是不合理的。最小页面文件要小一些,这样能够在内存中尽可能存更多的数据,效率就高,最大页面文件大一些,以免出现“全满”的的情况。

4)winxp现在支持4G内存,哪怕你有5,6百M的内存,你都不需页面文件了,这时可以把页面文件禁掉。到注册表编辑器HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management下,找到DisablePagingExecutive(禁用页面文件)设其值为1。
5)在同上的注册表编辑器位置上有个ClearPageFileAtShutdown(关机时清除页面文件),这里所说的“清除”页面文件(即虚拟内存)并非是指从硬盘上完全删除pagefile .sys这个文件,而是对其进行“清洗”和整理,从而为下次启动Win2K更好地利用虚拟内存作好准备。这样做还有利于安全,页面文件上的残留的数据是可以用特殊的工具读到的,而这些数据你可能并不想让人知道。这样做的代价是关闭系统时间会加长。 将其值设为1即可。

6)学过C的朋友们应该对操作内存有个概念,一个任务完成后,要用free函数来释放内存,但有很多软件在设计的时候,并没有在所有环节都这样做,这会造成无用的数据占据内存,对这种情况可以使用一些内存优化软件,让这钟软件来完成释放内存的动作。

2,下面介绍和优化一些不着名的缓存:

1)内存读取硬盘数据要经过一个系统缓存(system cache),它的位置是在内存的特定区域,它是用来缓解硬盘与内存之间的速度不平衡的。它是以牺牲内存资源来换取从硬盘读取数据时的速度的,有了这块缓存,系统能从硬盘预读所需的数据,减少系统等待的时间。如果你的内存很大,比如5,6百M,那么你除了可以采取上面说的关闭页面文件的方法外,还可以起用打的系统缓存。做法如下,进入注册表编辑器: HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management,找到LargeSystemCache(启用大的系统缓存),将它的值设为1就可以了。

这样设置了后,systemcache从4M增加到8M,再win2000和winxp中,这个值是动态的,如果内存不足,systemcache占据的空间可以自动相应调整。

2)处理器从内存读取数据的缓存是什么呢?是二级数据高级缓存(缓冲),同样它也要在内存中占一个空间,所以最好是有了大内存之后再设置这个值。也需再注册表里设置,方法如下:进入 HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management ,找到 SecondLevelDataCache,默认为256,大内存设为512。

好了经过了上面的介绍,我想对朋友们来说最重要收获的是加深了对缓存和操作系统的认识,至于优化的方法,我得承认一般的朋友是用不着去做的,当然“玩”一下也是很有意思的。

⑺ windows内存缓存影响

1.1 缓存管理器介于内存管理器(VMM)和文件系统驱动程序(FS)之间,它包含一组以"Cc"打头的内核模式函数,全局变量,以及一些系统线程.

1.2 缓存管理器(CM)以虚拟块(Virtual Block)为基础来缓存数据,

这使得可以在不涉及文件系统驱动程序的情况下进行智能预读((Read_Ahead)和延迟(Lazy_Write)

1.3 Windows缓存管理器使用一种称为虚拟块缓存(virtual Block caching)的方法,它跟踪,记录了哪些文件的哪些部分位于缓存中.

1.4 在intel x86系统中,系统默认的缓存大小为512MB,地址范围是0xc1000000--0xe100000

2.缓存管理器ring read and write operation

2.1 读的操作.

大致的过程如下,从I/O管理器发出一个read的IRP开始,然后是到文件系统驱动程序,然后是缓存管理器,再然后是虚拟内存管理器.

中间需要进行两个判断,1.缓存管理器是否将文件缓存到系统缓存中? 2,是否产生页错误?

2.2 写操作和读操作类似,见下图.

3.Cache Manager Interface

3.1 文件流(File Stream) 操作函数(

使文件映射到系统缓存中.

@ CcInitializeCacheMap()

@ CcSetFileSize()

@ CcFlushCache()

@ CcZeroData()

@ ()

@ ......

3.2 文件系统接口

一旦一个文件已经被建立起缓存方式的访问环境,文件系统驱动程序就调用几个函数中的某一个来访问文件中的数据.

要访问被缓存的数据,可以通过下面三种主要的方法:

⑻ 缓存的功能作用

硬盘的缓存主要起三种作用: 有时候,某些数据是会经常需要访问的,像硬盘内部的缓存(暂存器的一种)会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。缓存就像是一台计算机的内存一样,在硬盘读写数据时,负责数据的存储、寄放等功能。这样一来,不仅可以大大减少数据读写的时间以提高硬盘的使用效率。同时利用缓存还可以让硬盘减少频繁的读写,让硬盘更加安静,更加省电。更大的硬盘缓存,你将读取游戏时更快,拷贝文件时候更快,在系统启动中更为领先。
缓存容量的大小不同品牌、不同型号的产品各不相同,早期的硬盘缓存基本都很小,只有几百KB,已无法满足用户的需求。16MB和32MB缓存是现今主流硬盘所采用,而在服务器或特殊应用领域中还有缓存容量更大的产品,甚至达到了64MB、128MB等。大容量的缓存虽然可以在硬盘进行读写工作状态下,让更多的数据存储在缓存中,以提高硬盘的访问速率,但并不意味着缓存越大就越出众。缓存的应用存在一个算法的问题,即便缓存容量很大,而没有一个高效率的算法,那将导致应用中缓存数据的命中率偏低,无法有效发挥出大容量缓存的优势。算法是和缓存容量相辅相成,大容量的缓存需要更为有效率的算法,否则性能会大大折扣,从技术角度上说,高容量缓存的算法是直接影响到硬盘性能发挥的重要因素。更大容量缓存是未来硬盘发展的必然趋势。