I/O分层、库函数和系统调用
2021-01-26 21:09:23 0 举报
linux IO缓冲
作者其他创作
大纲/内容
磁盘
stdio缓冲区
内核态内存区
sync()fsync()fdatasync()写入到磁盘的告诉缓存中就返回
判断输出顺序: printf(\"hello world\"); printf(\"hello world with n\\
用户数据
使每个I/O调用自动刷新setbuf(stream, NULL)
直接I/Oopen的mode设置为O_DIRECT,性能不一定会优化,因为对于stdio缓冲区中的数据格式有严格要求,并且同一文件不能同时使用直接io和非直接io
read writ系统调用
强制刷新数据到内核态缓冲区fflush()
stdio中的库函数write read系统调用flushfsyncfdatasyncsync
用户态内存区
内核发起读写操作
stdio函数库调用 printf scanf
内核缓冲区
收藏
收藏
0 条评论
下一页