linux文件系统

虚拟文件系统(VFS,visal file system)

封装底层细节,提供接口

普通文件系统

-ext4

-fat32

-ubifs

特殊文件系统

-进程文件系统procfs,挂载在/proc,存放进程相关信息相当于windows的任务管理器

-设备文件系统devfs,挂载在/dev,存放硬件操作接口

系统IO编程

-直接调用操作系统提供的函数,如open read write

-不带缓冲机制,系统IO可以操作普通文件与驱动文件

标准IO编程

-使用glib等第三方库函数(实际上是封装操作系统提供的系统IO,再给用户使用)如 fread fopen fwrite

-带缓冲机制, 标准IO只可以操作普通文件。提供多种的格式的输入输出如(字符串、整形......)

缓冲的作用与刷新条件

作用:

在进行数据的读写的过程中,先不把数据直接写入或者读入设备中,而是写或者读入内存空间,当满足一定条件时候,将该空间的文件写入文件或设备中。这样可以减少操作系统调用驱动程序或文件的次数,提高读写的速度,和代码的效率。因为每一次系统调用的过程都是很浪费系统资源的。

缓冲区何时会被刷呢&刷新方法:

-缓冲区已满

-强制刷新

-程序结束

-关闭文件

调用exit()进程结束时会刷新缓冲区,return会自动调用exit(),注意_exit()不会刷新缓冲区

当缓冲区满了也会被刷新出来

可通过fflush强制将缓冲流中的数据复制到内核缓冲区中

流被关闭时也会被刷出来,如调用fclose函数

行缓冲遇见'\n'会被刷新出来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值