• 零拷贝技术可以加入到计算机组成原理的授课中


    零拷贝技术原理分析

    参考http://t.csdn.cn/WaqkV

     

    二、纠正一些网络上流传的错误说法
    2.1、错误说法一:零拷贝就是零复制或者零拷贝技术没有进行数据的复制操作,所以比较快。
    从拷贝这个音译词汇的翻译来看,拷贝确实就是复制的意思,但是零拷贝绝对不是零复制,零复制很容易让人以为它进行了0次复制,其实是不对的。下面让我们看下维基百科的解释:

    "Zero-copy" describes computer operations in which the CPU does not perform the task of copying data from one memory area to another.

    翻译过来就是说“零拷贝”是指计算机操作的过程中,CPU不需要为数据在内存之间的拷贝消耗资源,这个时候cpu可以干别的事情,至于数据的复制次数只能降低,而不会减少到0(后面会用例子说明)。

    到这里第一个错误说法就更正了:零拷贝不是指0次复制而是指0次调用CPU消耗资源。

    2.2、错误说法二:DMA技术诞生后,零拷贝基于DMA,实现了绝对的零复制…
    首先这个观点直白来讲并没有错误,零拷贝技术确实基于DMA才能实现。但是很多文章讲零拷贝都会先讲传统的文件输入输出,然后引出DMA,最后得出类似的结论。有两个容易让人弄混的点需要强调一下:

    即使是传统的read和write也会用到DMA,DMA并不神秘;
    和错误说法一一样,零拷贝不是0次复制。
    三、并不神秘的DMA
    DMA全称是Direct Memory Access,也就是直接存储器访问。它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。通俗点理解,就是让硬件可以跳过CPU的调度,直接访问主内存。

    比如我们常见的磁盘控制器、显卡、网卡、声卡都是支持DMA的,可以说DMA已经彻底融入我们的计算机世界了。

    从零拷贝技术的角度来看,DMA的知识我们了解这么多就足够了,不需要关心它内部是怎么处理和实现的。
     

  • 相关阅读:
    Linux-shell常用运维指令
    【IEEE独立出版】第四届计算机科学与区块链国际学术会议 (CCSB 2024)
    14、Linux的权限管理
    笔记本电脑windows10有线连接开无线热点方法已经成功
    Redis和MySQL数据库的一致性问题
    vue3入门,其实吧,压力也没那么大
    Maven
    大数据常见面试题
    C++ 派生类函数重载与虚函数继承详解
    手撕 视觉slam14讲 ch13 代码(5)双目初始化 StereoInit()
  • 原文地址:https://blog.csdn.net/WASEFADG/article/details/126412799