IO
哲米
深挖程序世界的各种疑难杂症
展开
-
Linux I/O 模型
Linux I/O:一次IO就是将数据从硬盘中加载到内存中。 Linux下的五中IO模型:阻塞IO模型、非阻塞IO模型、IO复用模型、信号驱动IO模型、异步IO模型: 阻塞型IO:即进程或线程一直等待某个条件,不满足则一直等待。缺点:线程阻塞,浪费CPU资源 非阻塞型IO:应用进程与内核交互,线程不会一直等待,而是通过轮训的方式(应用进程通过recvfrom 调用不停的去和内核交互)查看数据有没有准备好。在两次发送请求的时间段,进程可以先做别的事情。 信号驱动IO:应用进程预先向内核注册一个..原创 2020-07-04 15:10:38 · 117 阅读 · 0 评论 -
Linux 中的零拷贝技术
1. 零拷贝技术 零拷贝就是一种避免 CPU 将数据从一块存储拷贝到另外一块存储的技术。针对操作系统中的设备驱动程序、文件系统以及网络协议堆栈而出现的各种零拷贝技术极大地提升了特定应用程序的性能,并且使得这些应用程序可以更加有效地利用系统资源。这种性能的提升就是通过在数据拷贝进行的同时,允许 CPU 执行其他的任务来实现的。零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除传输数据在存储器之间不必要的中间拷贝次数,从而有效地提高数据传输效率。而且,零拷贝技术减少了用户应用程序地址空间和操作系统内核地址空转载 2020-07-04 14:58:19 · 412 阅读 · 0 评论