-
深入理解Linux I/O系统
传统的 System Call I/O 在 Linux 系统中,传统的访问方式是通过 write() 和 read() 两个系统调用实现的,通过 read() 函数读取文件到到缓存区中,然后通过 write() 方法把缓存中的数据输出到网络端口。 传统 I/O 操作的数据读写流程,整个过程涉及 2 次 CPU 拷贝、2 次 DMA 拷贝,总共 4 次拷贝,以及 4 次上下文切换。 CPU 拷贝: 由 CPU 直接处理数据的传送,数据拷贝时会一直占用 CPU 的资源。 DMA 拷贝: 由 CPU …