什么是缓冲文件系统和非缓冲文件系统 C语言中,什么是缓冲文件系统和文件缓冲区?

作者&投稿:胡帜 (若有异议请与网页底部的电邮联系)
目前C 语言所使用的磁盘文件系统有两大类:一类称为缓冲文件系统,又称为标准文
件系统;另一类称为非缓冲文件系统。
缓冲文件系统的特点是:系统自动地在内存区为每一个正在使用的文件开辟一个缓冲
区。从磁盘向内存读入数据时,则一次从磁盘文件将一些数据输入到内存缓冲区(充满缓
冲区),然后再从缓冲区逐个地将数据送给接收变量;向磁盘文件输出数据时,先将数据
送到内存中的缓冲区,装满缓冲区后才一起送到磁盘去。用缓冲区可以一次读入一批数据,
或输出一批数据,而不是执行一次输入或输出函数就去访问一次磁盘,这样做的目的是减
少对磁盘的实际读写次数,因为每一次读写都要移动磁头并寻找磁道扇区,花费一定的时
间。缓冲区的大小由各个具体的C 版本确定,一般为512 字节。缓冲文件系统的读写,如
图10.2 所示。
非缓冲文件系统不由系统自动设置缓冲区,而由用户自己根据需要设置。
在传统的UNIX 系统下,用缓冲文件系统来处理文本文件,用非缓冲文件系统处理二进
制文件。1983 年ANSI C 标准决定不采用非缓冲文件系统,而只采用缓冲文件系统。即用缓冲文件系统处理文本文件,也用它来处理二进制文件。也就是将缓冲文件系统扩充为可
以处理二进制文件。
一般把缓冲文件系统的输入输出称为标准输入输出(标准I/O),非缓冲文件系统的
输入输出称为系统输入输出(系统I/O)。在C 语言中,没有输入输出语句,对文件的读
写都是用库函数来实现的。ANSI 规定了标准输入输出函数,用它们对文件进行读写。本章
主要介绍ANSI C 的文件系统以及对其读写方法。

C语言中,什么是缓冲文件系统和文件缓冲区?~

文件缓冲区即系统在读写程序时在内存中开辟的数据源与数据目标中间的一个用于保存完整数据内容的缓冲区域。
目前C语言使用的文件系统分为缓冲文件系统(标准I / O)和非缓冲文件系统(系统I / O)。缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执 行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”,装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。 因此当程序运行时虽然进行了写数据操作,但是如果写入的数据没有装满内存中的缓冲区,就不会将数据写入到磁盘文件中。当程序运行结束后,系统就会将缓冲区中的数据写入到磁盘上的文件中,因此就可以看到文件中的内容。

目前c语言使用的文件系统分为缓冲文件系统(标准i
/
o)和非缓冲文件系统(系统i
/
o)。缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执
行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”,装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。
因此当程序运行时虽然进行了写数据操作,但是如果写入的数据没有装满内存中的缓冲区,就不会将数据写入到磁盘文件中。当程序运行结束后,系统就会将缓冲区中的数据写入到磁盘上的文件中,因此就可以看到文件中的内容。
常用的fopen命令就会使用文件读写缓冲区,fclose命令关闭文件,把缓冲区中的内容写入磁盘上的文件中。详见:
http://study.qqcf.com/web/171/19812.htm

缓冲文件系统的文件缓冲区位于
答:内核内存中。缓冲文件系统的文件缓冲区位于操作系统的内核内存中。内核是操作系统的核心部分,负责管理计算机的硬件和软件资源。在文件读写操作中,当应用程序请求读取或写入文件时,操作系统会将数据缓存在内核内存的文件缓冲区中。这样做的目的是为了提高文件的读写效率。

系统缓存是什么来的?有何作用?
答:它是以牺牲内存资源来换取从硬盘读取数据时的速度的,有了这块缓存,系统能从硬盘预读所需的数据,减少系统等待的时间。如果你的内存很大,比如5,6百M,那么你除了可以采取上面说的关闭页面文件的方法外,还可以起用打的系统缓存。做法如下,进入注册表编辑器: HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession ...

硬盘的缓存是什么意思
答:当硬盘的缓存值足够大时,硬盘就不用频繁地读写磁盘,一来可以延长硬盘的寿命,二来也可以提高数据的传输速度。 另外,将硬盘的“文件系统缓存”设置为“网络服务器”,可以加快系统对硬盘的访问速度,因为文件系统缓存里存放了硬盘最近被访问过的文件名和路径,缓存越大所能储存的内容也就越多。如果点击“控制面板”/“...

什么叫缓存?
答:所谓的缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。1、通过文件缓存;顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式;2、内存缓存;也就是创建一...

硬盘的缓存是什么意思?有什么用?
答:当硬盘的缓存值足够大时,硬盘就不用频繁地读写磁盘,一来可以延长硬盘的寿命,二来也可以提高数据的传输速度。另外,将硬盘的“文件系统缓存”设置为“网络服务器”,可以加快系统对硬盘的访问速度,因为文件系统缓存里存放了硬盘最近被访问过的文件名和路径,缓存越大所能储存的内容也就越多。如果点击...

qq属于非标软件吗
答:属于。qq属于非标软件,非标软件为缓冲文件系统,非标软件缓冲文件系统的特点是,系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区。

Linux操作系统中内存buffer和cache的区别
答:缓存(cache)实际并不是缓冲文件的,而是缓冲块的,块是磁盘I/O操作的最小单元(在Linux中,它们通常是1KB)。这样,目录、超级块、其它文件系统的薄记数据以及非文件系统的磁盘数据都可以被缓冲了。如果缓存有固定的大小,那么缓存太大了也不好,因为这会使得空闲的内存太小而导致进行交换操作(这同样...

缓冲文件系统的文件缓冲区位于
答:内存区。根据百度百科得知,文件缓冲区是用以暂时存放读写期间的文件数据而在内存区预留的一定空间。使用文件缓冲区可减少读取硬盘的次数。

谁给我解释下内部存储,系统存储,系统缓存,内
答:1、内部存储:内置在设备内的存储器,区别于外置存储,外置存储是在外部通过数据线、卡槽、网线等其他方式连接至设备的存储器。内部存储是硬件,是实体存储设备。2、系统存储:用于存放系统文件的存储空间。只得是实体存储设备内存放系统的那部分空间。3、系统缓存:用于存放系统运行时需要使用或产生的临时...

cache是什么文件
答:Cache就是指缓存 SRAM ,也叫 静态内存 ,这个内存可以 保持数据不被改变 ,除非重新写入新数据或关闭电源。