操作系统读写方式 —— 内存缓冲区
- 磁盘扇区 – 内存缓冲区 – 内存
- 文件存放在磁盘上,磁盘的访问速度远远低于内存,如果每次读一个字节或写一个字节都要去访问磁盘,那么文件的读写速度就会慢的无法忍受。
- 操作系统在接收到读文件请求时,哪怕只要读一个字节,操作系统也会一下就把一片数据(通常至少是512字节,因为磁盘的一个扇区就是512字节)都读取到一个操作系统自己管理的内存缓冲区中,那么要读下一个字节的时候,就不需要访问磁盘,直接从该缓冲区中读取就可以了。
- 操作系统接收到写文件的请求的时候,也是先把要写入的数据在一个内存缓冲区中保存起来,等缓冲区满了,再将缓冲区内容全部写入磁盘。
- 关闭文件的操作就能确保内存缓冲区中的数据被写入磁盘。
参考:郭炜 《新标准C++程序设计教程》