Linux中一切皆文件,不论是我们存储在磁盘上的字符文件,可执行文件还是我们的接入电脑的I/O设备等都被VFS抽象成了文件,比如标准输入设备默认是键盘,我们在操作标准输入设备的时候,其实操作的是默认打开的一个文件描述符是0的文件,而一切软件操作硬件都需要通过OS,而OS操作一切硬件都需要相应的驱动程序,这个驱动程序里配置了这个硬件的相应配置和使用方法.Linux的I/O分为阻塞I/O,非阻塞I/O,I/O多路复用,信号驱动I/O四种.对于I/O设备的驱动,一般都会提供关于阻塞和非阻塞两种配置.我