IDC

有必要了解一下Linux中零拷贝原理 | NIO零拷贝技术实践

作者:admin 2021-05-06 我要评论

本文导读: 什么是零拷贝 传统 IO 数据拷贝原理 什么是 DMA sendfile 数据零拷贝原理 mmap 数据零拷贝原理 Java 中 NIO 零拷贝实现 Java IO 与 NIO 实战案例分析...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

 

本文导读:

  • 什么是零拷贝
  • 传统 IO 数据拷贝原理
  • 什么是 DMA
  • sendfile 数据零拷贝原理
  • mmap 数据零拷贝原理
  • Java 中 NIO 零拷贝实现
  • Java IO 与 NIO 实战案例分析

什么是零拷贝

关于零拷贝,WIKI 上给出的定义如下:

「Zero-copy」 describes computer operations in which the CPU does not perform the task of copying data from one memory area to another. This is frequently used to save CPU cycles and memory bandwidth when transmitting a file over a network.

所谓「零拷贝」描述的是计算机操作系统当中,CPU不执行将数据从一个内存区域,拷贝到另外一个内存区域的任务。通过网络传输文件时,这样通常可以节省 CPU 周期和内存带宽。

从描述中已经了解到零拷贝技术给我们带来的好处:

1、节省了 CPU 周期,空出的 CPU 可以完成更多其他的任务

2、减少了内存区域之间数据拷贝,节省内存带宽

3、减少用户态和内核态之间数据拷贝,提升数据传输效率

4、应用零拷贝技术,减少用户态和内核态之间的上下文切换

传统 IO 数据拷贝原理

在正式分析零拷贝机制原理之前,我们先来看下传统 IO 在数据拷贝的基本原理,从数据拷贝 (I/O 拷贝) 的次数以及上下文切换的次数进行对比分析。

传统 IO:

有必要了解一下Linux中零拷贝原理 | NIO零拷贝技术实践


本文转载自网络,原文链接:https://m.toutiaocdn.com/group/6746056891136213515/?app=news_article×tamp=1582884537&req_id=20200228180856010014063145010F141E&group_id=6746056891136213515&tt_from=weixin&utm_source=weixin&utm_me

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Namejet 4月交易125万美元:746.com以7

    Namejet 4月交易125万美元:746.com以7

  • .CLOUD参加第二届CIIE进博会精彩回顾

    .CLOUD参加第二届CIIE进博会精彩回顾

  • 判决出炉:威瑞信再次败诉!.com起诉.x

    判决出炉:威瑞信再次败诉!.com起诉.x

  • 爆料:腾讯TGP游戏平台将更名Wegame!

    爆料:腾讯TGP游戏平台将更名Wegame!