位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 标准文件与非标准文件

提问人:刘团圆发布时间:2020-12-02

    CPU的计算速度远远高于外部磁盘,如果每次程序执行时,每读取一个字节都到磁盘上去取数据,就需要每次都启动CPU执行读写磁盘操作:从磁盘中读出一个数据调入到内存中,再送往CPU计算。这样效率会非常低,因为每次读写磁盘时,就要中断CPU正在进行的工作,而去执行磁盘操作,这样大大降低了CPU的效率。因此,文件的读写通常使用缓冲技术。

    缓冲技术就是在内存中为每一个需要进行读写的文件开辟一块缓冲区,利用缓冲区完成文件操作。这样就把频繁的磁盘操作转换为对内存的读写,效率大大提高。

    一般将从内存往外存写数据称为“输出”,从外存中读取数据称为“输入”。

    利用缓冲技术进行数据输入的过程为:当需要从磁盘读取数据时,系统先将该文件的数据从磁盘取出,存入到系统为其分配的内存中的一块“输入缓冲区”,应用程序在读取数据时直接从该缓冲区中读取,如图所示。

image.png

    利用缓冲技术进行数据输出的过程为:当需要将程序运行结果输出到外部磁盘时,首先将程序运行结果按照程序运行输出的先后次序送入到系统为该文件分配好的一块内存的“输出缓冲区”,待该缓冲区数据装满时,将该缓冲区的数据一次写入磁盘文件,

如上图所示。

    利用缓冲区对磁盘文件的逐次访问改为批量访问的方式称为标准文件操作。相应的,磁盘文件系统称为缓冲文件系统,或标准文件系统或高层文件系统。

    如果操作系统不在内存中开辟读写缓冲区,不使用缓冲技术的磁盘文件系统称为非缓冲文件系统,或非标准文件系统或低层文件系统。


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部