输入/输出(I/O)是在主存(memory)和外部设备之间拷贝数据的过程。输入数据是从I/O设备拷贝数据到主存,输出数据是从主存拷贝数据到I/O设备。

10.1 Unix I/O

一个Linux文件就是一个m个字节的序列:B0,B1,...,Bk,...,Bm−1

所有的I/O设备都被模型化为文件,而所有的输入和输出都被当作对相应文件的读和写来执行。Linux内核使用一个简单、低级的应用接口即Unix I/O来统一且一致的执行所有的输入和输出:

10.2 文件

每个Linux文件都有一个类型(type)来表明它在系统中的角色:

其他文件类型包含命名管道(named pipe)、符号链接(symbolic link)等。

Linux内核将所有文件都组织成一个目录层次结构(directory hierarchy),由名为/的根目录确定。下图显示了Linux系统的目录层次结构的一部分。

Untitled

Untitled