《深入理解计算机系统》--系统级I/O

关于I/O可以先参考这些文章,但是这里可能还是有所不同。分析系统级别的I/O有什么不一样的地方。

文件I/O

高级I/O

标准库I/O

    开篇介绍了三个级别的I/O的区别之处。所有语言的运行时系统都提供执行I/O的较高级别的工具。例如,标准I/O库;在UNIX系统中,是通过使用由内核提供的系统级I/O函数来实现这些较高级别的I/O函数的。介绍UNIX I/O和标准I/O的一般概念,展示在C程序中如何可靠地使用它们。

一、UNIX I/O

    在UNIX系统中有一个说法,一切皆文件。所有的I/O设备,如网络、磁盘都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行。这种将设备映射为文件的方式,允许UNIX内核引出一个简单、低级的应用接口,称为UNIX I/O,这使得所有的输入和输出都能以一种统一且一致的方式来执行。

  • 打开文件 打开文件操作完成以后才能对文件进行一些列的操作,打开完成过以后会返回一个文件描述符,它在后续对此文件的所有操作中标识这个文件,内核记录有关这个打开文件的所有信息。
  • 改变当前的文件位置。
  • 读写文件
  • 关闭文件 应用完成了对文件的访问之后,就通知内核关闭这个文件,内核释放文件打开时创建的数据结构,并将这个描述符恢复到可用的描述符池中。进程终止,内核也会关闭所有打开的文件并释放他们的存储器资源。

二、打开和关闭文件

    关于打开文件的基本操作,这里就不再累述,就是

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值