麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > sendfile怎么實現的零拷貝?

sendfile怎么實現的零拷貝?

來源:千鋒教育
發布人:wjy
時間: 2022-09-14 15:50:43 1663141843

  在 Linux 內核版本 2.1 中,提供了一個專門發送文件的系統調用函數 sendfile(),函數形式如下:

sendfile怎么實現的零拷貝1

  它的前兩個參數分別是目的端和源端的文件描述符,后面兩個參數是源端的偏移量和復制數據的長度,返回值是實際復制數據的長度。

  首先,它可以替代前面的 read() 和 write() 這兩個系統調用,這樣就可以減少一次系統調用,也就減少了 2 次上下文切換的開銷。

  其次,該系統調用,可以直接把內核緩沖區里的數據拷貝到 socket 緩沖區里,不再拷貝到用戶態,這樣就只有 2 次上下文切換,和 3 次數據拷貝。如下圖:

sendfile怎么實現的零拷貝2

 

  但是這還不是真正的零拷貝技術,如果網卡支持 SG-DMA(The Scatter-Gather Direct Memory Access)技術(和普通的 DMA 有所不同),我們可以進一步減少通過 CPU 把內核緩沖區里的數據拷貝到 socket 緩沖區的過程。 你可以在你的 Linux 系統通過下面這個命令,查看網卡是否支持 scatter-gather 特性:

sendfile怎么實現的零拷貝3

 

  于是,從 Linux 內核 2.4 版本開始起,對于支持網卡支持 SG-DMA 技術的情況下, sendfile() 系統調用的過程發生了點變化,具體過程如下:

  步,通過 DMA 將磁盤上的數據拷貝到內核緩沖區里;第二步,緩沖區描述符和數據長度傳到 socket 緩沖區,這樣網卡的 SG-DMA 控制器就可以直接將內核緩存中的數據拷貝到網卡的緩沖區里,此過程不需要將數據從操作系統內核緩沖區拷貝到 socket 緩沖區中,這樣就減少了一次數據拷貝;

  所以,這個過程之中,只進行了 2 次數據拷貝,如下圖:

  

sendfile怎么實現的零拷貝4

 

  這就是所謂的零拷貝(Zero-copy)技術,因為我們沒有在內存層面去拷貝數據,也就是說全程沒有通過 CPU 來搬運數據,所有的數據都是通過 DMA 來進行傳輸的。

  零拷貝技術的文件傳輸方式相比傳統文件傳輸的方式,減少了 2 次上下文切換和數據拷貝次數,只需要 2 次上下文切換和數據拷貝次數,就可以完成文件的傳輸,而且 2 次的數據拷貝過程,都不需要通過 CPU,2 次都是由 DMA 來搬運。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
開班信息
北京校區
  • 北京校區
  • 大連校區
  • 廣州校區
  • 成都校區
  • 杭州校區
  • 長沙校區
  • 合肥校區
  • 南京校區
  • 上海校區
  • 深圳校區
  • 武漢校區
  • 鄭州校區
  • 西安校區
  • 青島校區
  • 重慶校區
  • 太原校區
  • 沈陽校區
  • 南昌校區
  • 哈爾濱校區
主站蜘蛛池模板: 暖暖直播在线观看| 美女扒开胸罩露出奶了无遮挡免费 | loveme动漫在线观看免费| 2023av在线播放| 里番本子侵犯肉全彩3d| 国产青青| 国产在线2021| 全彩里番acg里番| 亚洲国产电影在线观看| 中文字幕制服诱惑| 日韩午夜免费视频| 99re热这里有精品首页视频| 高清中文字幕免费观在线| 深夜影院一级毛片| 日本久久久久亚洲中字幕| 中韩日产字幕2021| 百合潮湿的欲望| 快穿之青梅竹马女配| 日本精a在线观看| 亚洲国产高清美女在线观看| 亚洲国产欧美国产综合一区| 国产精品久久久| 在线免费h| 韩国朋友夫妇:交换4| 欧美日产国产亚洲综合图区一| 国产剧情丝袜在线观看| 蜜桃成熟时2005| 全球全球gogo专业摄影| 四虎影视成人永久在线观看| 欧美成a人免费观看| 80s国产成年女人毛片| 免费观看男人免费桶女人视频| 久久国内精品自在自线软件| 波多野结衣免费观看视频| 在线观看网站禁入口不用下载 | 精品一区二区久久久久久久网精| 中文字幕www| 女的和男的一起怼怼| 一级做α爱**毛片| a级成人毛片免费视频高清| 韩国免费乱理论片在线观看2018|