第十章,系统级I/O
I/O是在主存和外部设备之间拷贝数据的过程。
所有语言运行时系统都提供执行I/O的较高级别的工具。
在unix系统中,是通过使用内核提供的系统级unixI/O函数来实现这些较高级别的I/O函数的。
10.1 Unix I/O
一个Unix文件就是一个m个字节的序列,所有的I/O设备,都被模型化为文件,而所有的输入和输出都被当作对应文件的读和写来执行。
这种简单优雅的方式叫做UnixI/O。
①打开文件 描述符:0,标准输入
1,标准输出
2,标准错误
②改变当前文件位置 初始为0,通过seek操作改变为K
③读写文件 从文件拷贝到存储器叫读;从存储器拷贝到文件叫写;end-of-file(EOF)。
④关闭文件
10.2 打开和关闭文件
打开:调用open函数来执行
open函数将filename转换为一个描述符,并且返回描述符数字;
flags参数也可以是一个或者更多位掩码;
mode参数指定了新文件的访问权位。
关闭:通过close函数的调用关闭一个打开的文件。
10.3 读和写文件
分别通过调用read和write来实现输入和输出。
函数返回值为-1时表示一个错误;返回值为0表示EOF。
参考资料
《深入理解计算机系统》