国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

支撑百万并发的“零拷贝”技术,你了解吗?

发布时间:2019/09/23标签:   内核    点击量:

原标题:支撑百万并发的“零拷贝”技术,你了解吗?
【51CTO.com原创稿件】零拷贝(Zero-copy)技巧指在盘算机履行操纵时,CPU 不须要先将数据从一个内存地区复制到另一个内存地区,从而能够增加高低文切换以及 CPU 的拷贝时光。图片来自 Pexels它的感化是在数据报从收集装备到用户顺序空间通报的进程中,增加数据拷贝次数,增加体系挪用,完成 CPU 的零参加,完全打消 CPU 在这方面的负载。完成零拷贝用到的最重要技巧是 DMA 数据传输技巧和内存地区映照技巧: 零拷贝机制能够增加数据在内核缓冲区和用户过程缓冲区之间重复的 I/O 拷贝操纵。 零拷贝机制能够增加用户过程地点空间和内核地点空间之间由于高低文切换而带来的 CPU 开支。物理内存和虚构内存因为操纵体系的过程与过程之间是同享 CPU 和内存资本的,因而须要一套完美的内存治理机制避免过程之间内存泄露的成绩。为了愈加无效地治理内存并增加犯错,古代操纵体系供给了一种对主存的形象观点,即虚构内存(Virtual Memory)。虚构内存为每个过程供给了一个分歧的、公有的地点空间,它让每个过程发生了一种本人在独享主存的错觉(每个过程领有一片持续完全的内存空间)。物理内存物理内存(Physical Memory)是绝对于虚构内存(Virtual Memory)而言的。物理内存指经过物理内存条而取得的内存空间,而虚构内存则是指将硬盘的一块地区分别来作为内存。内存重要感化是在盘算机运转时为操纵体系和种种顺序供给常设贮存。在利用中,天然是顾名思义,物理上,实在存在的插在主板内存槽上的内存条的容量的巨细。虚构内存虚构内存是盘算机体系内存治理的一种技巧。它使得利用顺序以为它领有持续的可用的内存(一个持续完全的地点空间)。而现实上,虚构内存平日是被分开成多个物理内存碎片,另有局部临时存储在内部磁盘存储器上,在须要时停止数据交流,加载到物理内存中来。现在,大少数操纵体系都应用了虚构内存,如 Windows 体系的虚构内存、Linux 体系的交流空间等等。虚构内存地点和用户过程严密相干,个别来讲差别过程里的统一个虚构地点指向的物理地点是纷歧样的,以是分开过程谈虚构内存没有任何意思。每个过程所能应用的虚构地点巨细和 CPU 位数无关。在 32 位的体系上,虚构地点空间巨细是 2^32=4G,在 64 位体系上,虚构地点空间巨细是 2^64=16G,而现实的物理内存能够远远小于虚构内存的巨细。每个用户过程保护了一个独自的页表(Page Table),虚构内存和物理内存就是经过这个页表完成地点空间的映照的。上面给出两个过程 A、B 各自的虚构内存空间以及对应的物理内存之间的地点映照表示图:

版权信息Copyright © 银河官网 版权所有    ICP备案编号:鲁ICP备09013610号