什么是I/O操作,看一下百度百科的说法:I/O操作是指对设备与cpu连接的接口电路的操作,不是对外围设备直接进行操作。宏观上讲,I/O是信息处理系统(例如计算机)与外部世界(可能是人或其他信息处理系统)之间的通信。输入(Input)是系统接收的信号或数据,输出(Output)是从其发送的信号或数据。另一方面,在某一个信息处理系统内部,各部件或组件之间的通信也时刻离不开着I/O。
那什么是文件I/O操作,其实可以理解为程序与文件之间进行数据交换的过程,包括读取和写入文件来实现数据的输入和输出。文件I/O主要涉及打开文件、读取文件内容、写入文件内容和关闭文件等操作。
什么是文件缓冲
将文件内容写入到硬件设备时,比如磁盘的扇区,则需要进行系统调用,这类I/O操作的耗时很长,为了减少I/O操作的次数,文件通常使用缓冲区(当需要写入的字节数不足一个块时,将数据放入缓冲区,当数据凑够一个块的大小后才进行系统调用)。文件的缓存行为,分为全缓冲、行缓冲、无缓冲。
对于磁盘这类的块设备,读写时不是按单个字节进行的,而是按块,每次读写一个块(一般一个块大小4096个字节);如果一个块的大小是4096个字节,则写入一个字节和写入4096个字节,都需要进行一次I/O操作,用时则是相同的。
这个块的大小是和磁盘有关的,不同的磁盘是不一样的。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



