但是这样做的坏处是<em>cpu</em>的消耗是很大的,因为需要大量的计算操作,虽然在物理磁盘减少了IO操作。什么是零拷贝 Linux的系统思想是一切都是文件,对文件的操作只有两种,要么是读,要么是写,对系统的优化,无外乎就是对着两
2021-05-15 15:31:24
導語
以前的linux操作I/O介面是基於作業系統的拷貝資料基礎上的,這樣的操作的好處是應用程式的地址空間和作業系統核心空間的緩衝區可以傳輸,減少了I/O操作的次數,
但是這樣做的壞處是cpu的消耗是很大的,因為需要大量的計算操作,雖然在物理磁碟減少了IO操作。
什麼是零拷貝
Linux的系統思想是一切都是檔案,對檔案的操作只有兩種,要麼是讀,要麼是寫,對系統的優化,無外乎就是對著兩種操作的優化。零拷貝技術就是為了提高效能出現的。
零拷貝技術是對cpu的優化,不讓cpu在對資料包操作時候,從一塊儲存區拷貝到另外一塊儲存區的技術。零拷貝技術應用在檔案系統、網路協議的堆棧以及硬體裝置的驅動程式。
這總操作不僅減少了資料了拷貝,而且也減少了共享匯流排的次數。
資料拷貝的幾種模式
僅cpu方式
這種方式首先由cpu向磁碟傳送讀請求,然後read()方法從使用者態進入核心態。磁碟收到請求之後會進入準備的這樣的一個狀態,然後把資料放在磁碟緩衝區,最後cpu開始拷貝資料,把狀態從核心態再切換到用使用者態。
Cpu結合DMA
只讓cpu和磁碟互動,感覺很浪費資源,聰明的科技人員就想加入這樣一個操作,直接記憶體去訪問,這種方式叫做DMA,繞開了cpu直接訪問磁碟的機制。
普通模式資料互動
在DMA的基礎上增加了syscall,網卡的內容。
最後一種就是我要講的零拷貝技術。
零拷貝原理
中斷方式如下
首先向使用者程序傳送讀寫請求,然後該程序分配cpu資源,cpu命令請求io操作,io完成後,使用者程序退出,資料被儲存在控制器的高速緩衝取裡。Cpu讀取資料進入記憶體。
總結一下,系統呼叫利用DMA引擎將檔案系統拷貝到緩衝區裡,零拷貝技術不基於任何一種程式語言,所有語言都可以實現零拷貝技術。
相關文章
但是这样做的坏处是<em>cpu</em>的消耗是很大的,因为需要大量的计算操作,虽然在物理磁盘减少了IO操作。什么是零拷贝 Linux的系统思想是一切都是文件,对文件的操作只有两种,要么是读,要么是写,对系统的优化,无外乎就是对着两
2021-05-15 15:31:24
但其实<em>CPU</em>的话还好,对于游戏与办公用途,即使是INTEL和AMD前几代<em>CPU</em>的性能都算够用,并不会造成太大的瓶颈,需求更多是在显卡,<em>CPU</em>够用就没有问题。这次推荐给大家的方案就是AMD的R5+B450套
2021-05-15 15:31:18
开机后还有一些使用提示,预装了几个联想的全家桶,有联想电脑管家,软件中心,<em>浏览器</em>,语音助手等,还有几个第三方应用,有爱奇艺和WPS。不算多,不过看来笔记本也和手机学坏了。用了几天把其他的都卸掉了,留了个
2021-05-15 15:30:48
Mini-LED 显示屏已经在新款 <em>iPad</em> Pro 上亮相,而下一个用上这块屏幕的极有可能就是 MacBook Pro。 据相关媒体报道,苹果的屏幕供应商已经解决了 Mini LED 屏幕生产上的技术问题,生产良率已经达到了 95% 以上,
2021-05-15 15:30:32
苹果在上个月举行的春季新品发布会上带来了一波新产品,但遗憾的是,大家期盼的新 <em>iPad</em> mini 以及 AirPods3 并未亮相。有不少小伙伴仍在等待新 AirPods 的到来。根据此前外界传出的消息,AirPods 产品线在经历了
2021-05-15 15:30:26
而在国内,苹果实现了177亿美元的营收,同比增长了87%。我们都知道,苹果公司的主要来营收来源于起iPhone产品,光是iPhone产品就为其带来了将近500亿美元的营收。另外,Mac和<em>iPad</em>的也是苹果的营收来源之一。第二季度
2021-05-15 15:30:12