IO 与文件系统
IO 性能往往是系统瓶颈所在。
一、阻塞与非阻塞
阻塞 IO 等待数据就绪才返回;非阻塞立即返回,需轮询。多路复用(select/poll/epoll)用单线程管理大量连接,是高并发网络编程的核心。
二、同步与异步
同步 IO 由用户线程等待/轮询;异步 IO(如 Linux io_uring、Windows IOCP)由内核完成后再通知,真正不阻塞业务线程。
三、零拷贝
传统文件发送需多次内核/用户态拷贝;零拷贝(sendfile、mmap)减少拷贝次数与上下文切换,显著提升大文件传输与静态资源服务性能。