POSIX IO操作称为文件IO,也称为低级文件IO,是操作系统提供的系统调用,属于没有缓冲区的文件操作方式。执行该种操作后,内容会直接被写入到内核中的提供给磁盘的专门缓冲区中,内核会定期的刷新该缓冲区,将内容同步到磁盘当中。
ANSI C IO操作称为标准文件IO,也称为高级文件IO,是C库函数提供的,属于带有缓冲区的文件操作方式。执行该种操作后,内容首先会将内容写入到用户空间的缓冲区中,待缓冲区满或者需要刷新的时候再去调用文件IO,将内容写入到内核的磁盘缓冲区当中。
相比于低级文件IO,高级文件IO有几个优点:
- 移植性更好。
- 效率更高。因为使用文件IO会涉及到由用户态到内核态的切换,切换过程必定要浪费一定的cpu时间,所以如果频繁的使用文件IO,会影响程序的效率,使用标准文件IO由于引入了缓冲区,减少了使用文件IO的次数,提高了效率。
时间: 2024-09-30 00:15:59