IO是主存和外部设备之间拷贝数据的过程,全部语言的运行时系统都提供执行IO的较高级别工具,例如ANSI C提供标准IO库,包含想printf和scanf这样执行带缓冲区的IO函数,C++语言用他的重载操做符<<>>提供了相似功能。网络
10.1 unix IO数据结构
一个io文件就是一个m字节的序列,全部io设备,如磁盘 网络和终端,都被模型化为文件,全部输入输出都被看成对文件的读写来执行,这种吧设备映射为文件的方式,容许unix内核引出一个简单的应用接口即unix IO,这使得全部IO都能以一种统一且一致的方式来执行。函数
1)打开文件:一个应用程序经过要求内核打开响应的文件,宣告访问一个IO设备。工具
内核返回一个小的非负整数,叫作描述符。spa
Unix外壳建立的每一个进程开始时候都有谁那个打开的文件,标准输入描述符为0,标准输出1,标准错误2;unix
2)改变当前文件的位置:对于每一个打开的文件,内核保持着一个文件weizhik,初始为0,这个文件位置是从文件开头其实的字节偏移量,应用程序可以经过执行seek操做,显式地设置文件的当前位置k.接口
3)读写文件:读操做就是从文件拷贝n>0个字节到存储器,从当前文件位置k开始,而后将k增长到k+n。进程
4)关闭文件:内核释放文件打开时建立的数据结构,并将这个描述符恢复到可用的描述符池中,不管进城由于何种缘由终止,内核都会关闭全部打开的文件并释放他们的存储器资源。资源