今天学unix编程的时候文章老是说到不带缓冲的函数(read,write)等,于是搜索了一番,得出以下结论
含义: 首先系统自带缓冲区叫内核缓冲区,如果你使用带缓冲的函数(fread,fwrite等)那么在内核缓冲区上会增加一层用户 缓冲区,所谓的不带缓冲的io就是不创建用户缓冲区的io
目的: 不带缓冲的io会直接读取磁盘,可能会降低效率,但是保证了安全性(######此处有待补充#######),带缓冲的io 由于会提前将数据存储到用户缓冲区,以后就直接操作用户缓冲区,提高了速度,此外它还会降低对read,write等的调用(因为fread,fwrite等其实是通过调用read,write来实现功能),这样又能提到速度。
区别:是否创建用户缓冲区,是直接读取磁盘还是仅仅操作用户缓冲区
贴上一篇详细的说明博客http://blog.csdn.net/carolzhang8406/article/details/7227761