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


    零拷贝技术原理分析

    参考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的知识我们了解这么多就足够了,不需要关心它内部是怎么处理和实现的。
     

  • 相关阅读:
    在react中组件间过渡动画如何实现?
    finalshell发布前端项目到阿里云
    多目标追踪——【Transformer】Global Transformer Tracking
    ARP欺骗
    安全与隐私:直播购物App开发中的重要考虑因素
    大模型的幻觉 (Hallucination) 因何而来?如何解决幻觉问题?
    element ui 使用记录
    easyHttp -- 轻量级的 HTTP 客户端工具包
    黑马Java热门面试题Redis(九)
    HDFS-FSCK命令输出
  • 原文地址:https://blog.csdn.net/WASEFADG/article/details/126412799