用户程序进行IO的读写依赖于底层的IO读写,基本上会用到底层的read和write两大系统调用。 操作系统层面的read系统调用并不是直接从物理设备把数据读取到应用的内存中,write系统调用也不是直接把数据写入物理设备。简单来说,应用程序的IO操作实际上不是物理设备级别的读写,而是缓存的复制。read和write两大系统调用都不负责数据在内核缓冲区和物理设备(如磁盘、网卡等)之间的交换。 这个底层的读写交换操作是由操作系统内核(Kernel)来完成的