码迷,mamicode.com
首页 > 其他好文 > 详细

文件数据流向

时间:2017-06-19 13:17:13      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:bsp   hello   不能   调用   数据   images   磁盘   自己的   读写   

应用程序A写“hello”,首先到C标准缓冲区,再通过fprintf,fputs等把“hello”写到内核缓冲区,最终写到磁盘文件中。

eg:应用程序A把“hello”写到C标准缓冲区时,应用程序B读磁盘能否读到“hello”?

答:不能读到。

每一个应用程序都有一个自己的地址空间(0-4G),故C标准缓冲区是和应用程序A绑定的,只有应用程序A能看到,B是看不到的。当应用了fflash时,hello通过底层调用,被写入内核缓冲区,写入后,write函数返回,表示写成功,此时hello并不会马上到磁盘文件中,而是有一个守护进程,缓输出。(对操作系统看来,本次读写磁盘文件只写了一个hello,有点浪费性能,故先让hello在内核缓冲区先保存,守护进程会定时刷新内核缓冲区的内容到磁盘文件。)应用程序B可以看到内核缓冲区的内容。

 技术分享

 

文件数据流向

标签:bsp   hello   不能   调用   数据   images   磁盘   自己的   读写   

原文地址:http://www.cnblogs.com/Liu-Jing/p/7047773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!