论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[21834] 2021-04-02_浅析Linux中的零拷贝技术
文档创建者:
s7ckTeam
浏览次数:
5
最后更新:
2025-01-18
IOT
5 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2021-04-02_浅析Linux中的零拷贝技术
浅
析
L
i
n
u
x
中
的
零
拷
贝
技
术
L
e
m
o
n
S
e
c
2
0
2
1
-
0
4
-
0
2
作
者
:
卡
巴
拉
的
树
h
t
t
p
s
:
/
/
r
e
u
r
l
.
c
c
/
W
E
D
d
6
5
本
文
探
讨
L
i
n
u
x
中
主
要
的
几
种
零
拷
贝
技
术
以
及
零
拷
贝
技
术
适
用
的
场
景
。
为
了
迅
速
建
立
起
零
拷
贝
的
概
念
,
我
们
拿
一
个
常
用
的
场
景
进
行
引
入
:
引
文
引
文
在
写
一
个
服
务
端
程
序
时
(
W
e
b
S
e
r
v
e
r
或
者
文
件
服
务
器
)
,
文
件
下
载
是
一
个
基
本
功
能
。
这
时
候
服
务
端
的
任
务
是
:
将
服
务
端
主
机
磁
盘
中
的
文
件
不
做
修
改
地
从
已
连
接
的
s
o
c
k
e
t
发
出
去
,
我
们
通
常
用
下
面
的
代
码
完
成
:
基
本
操
作
就
是
循
环
的
从
磁
盘
读
入
文
件
内
容
到
缓
冲
区
,
再
将
缓
冲
区
的
内
容
发
送
到
s
o
c
k
e
t
。
但
是
由
于
L
i
n
u
x
的
I
/
O
操
作
默
认
是
缓
冲
I
/
O
。
这
里
面
主
要
使
用
的
也
就
是
r
e
a
d
和
w
r
i
t
e
两
个
系
统
调
用
,
我
们
并
不
知
道
操
作
系
统
在
其
中
做
了
什
么
。
实
际
上
在
以
上
I
/
O
操
作
中
,
发
生
了
多
次
的
数
据
拷
贝
。
当
应
用
程
序
访
问
某
块
数
据
时
,
操
作
系
统
首
先
会
检
查
,
是
不
是
最
近
访
问
过
此
文
件
,
文
件
内
容
是
否
缓
存
在
内
核
缓
冲
区
,
如
果
是
,
操
作
系
统
则
直
接
根
据
r
e
a
d
系
统
调
用
提
供
的
b
u
f
地
址
,
将
内
核
缓
冲
区
的
内
容
拷
贝
到
b
u
f
所
指
定
的
用
户
空
间
缓
冲
区
中
去
。
如
果
不
是
,
操
作
系
统
则
首
先
将
磁
盘
上
的
数
据
拷
贝
的
内
核
缓
冲
区
,
这
一
步
目
前
主
要
依
靠
D
M
A
来
传
输
,
然
后
再
把
内
核
缓
w
h
i
l
e
(
(
n
=
r
e
a
d
(
d
i
s
k
f
d
,
b
u
f
,
B
U
F
_
S
I
Z
E
)
)
>
0
)
w
r
i
t
e
(
s
o
c
k
f
d
,
b
u
f
,
n
)
;
冲
区
上
的
内
容
拷
贝
到
用
户
缓
冲
区
中
。
接
下
来
,
w
r
i
t
e
系
统
调
用
再
把
用
户
缓
冲
区
的
内
容
拷
贝
到
网
络
堆
栈
相
关
的
内
核
缓
冲
区
中
,
最
后
s
o
c
k
e
t
再
把
内
核
缓
冲
区
的
内
容
发
送
到
网
卡
上
。
说
了
这
么
多
,
不
如
看
图
清
楚
:
数
据
拷
贝
从
上
图
中
可
以
看
出
,
共
产
生
了
四
次
数
据
拷
贝
,
即
使
使
用
了
D
M
A
来
处
理
了
与
硬
件
的
通
讯
,
C
P
U
仍
然
需
要
处
理
两
次
数
据
拷
贝
,
与
此
同
时
,
在
用
户
态
与
内
核
态
也
发
生
了
多
次
上
下
文
切
换
,
无
疑
也
加
重
了
C
P
U
负
担
。
在
此
过
程
中
,
我
们
没
有
对
文
件
内
容
做
任
何
修
改
,
那
么
在
内
核
空
间
和
用
户
空
间
来
回
拷
贝
数
据
无
疑
就
是
一
种
浪
费
,
而
零
拷
贝
主
要
就
是
为
了
解
决
这
种
低
效
性
。
什
么
是
零
拷
贝
技
术
(
什
么
是
零
拷
贝
技
术
(
z
e
r
o
-
c
o
p
y
)
?
)
?
零
拷
贝
主
要
的
任
务
就
是
避
免
C
P
U
将
数
据
从
一
块
存
储
拷
贝
到
另
外
一
块
存
储
,
主
要
就
是
利
用
各
种
零
拷
贝
技
术
,
避
免
让
C
P
U
做
大
量
的
数
据
拷
贝
任
务
,
减
少
不
必
要
的
拷
贝
,
或
者
让
别
的
组
件
来
做
这
一
类
简
单
的
数
据
传
输
任
务
,
让
C
P
U
解
脱
出
来
专
注
于
别
的
任
务
。
这
样
就
可
以
让
系
统
资
源
的
利
用
更
加
有
效
。
我
们
继
续
回
到
引
文
中
的
例
子
,
我
们
如
何
减
少
数
据
拷
贝
的
次
数
呢
?
一
个
很
明
显
的
着
力
点
就
是
减
少
数
据
在
内
核
空
间
和
用
户
空
间
来
回
拷
贝
,
这
也
引
入
了
零
拷
贝
的
一
个
类
型
:
让
数
据
传
输
不
需
要
经
过
u
s
e
r
s
p
a
c
e
。
使
用
使
用
m
m
a
p
我
们
减
少
拷
贝
次
数
的
一
种
方
法
是
调
用
m
m
a
p
(
)
来
代
替
r
e
a
d
调
用
:
应
用
程
序
调
用
m
m
a
p
(
)
,
磁
盘
上
的
数
据
会
通
过
D
M
A
被
拷
贝
的
内
核
缓
冲
区
,
接
着
操
作
系
统
会
把
这
段
内
核
缓
冲
区
与
应
用
程
序
共
享
,
这
样
就
不
需
要
把
内
核
缓
冲
区
的
内
容
往
用
户
空
间
拷
贝
。
应
用
程
序
再
调
用
w
r
i
t
e
(
)
,
操
作
系
统
直
接
将
内
核
缓
冲
区
的
内
容
拷
贝
到
s
o
c
k
e
t
缓
冲
区
中
,
这
一
切
都
发
生
在
内
核
态
,
最
后
,
s
o
c
k
e
t
缓
冲
区
再
把
数
据
发
到
网
卡
去
。
同
样
的
,
看
图
很
简
单
:
m
m
a
p
使
用
m
m
a
p
替
代
r
e
a
d
很
明
显
减
少
了
一
次
拷
贝
,
当
拷
贝
数
据
量
很
大
时
,
无
疑
提
升
了
效
率
。
但
是
使
用
m
m
a
p
是
有
代
价
的
。
当
你
使
用
m
m
a
p
时
,
你
可
能
会
遇
到
一
些
隐
藏
的
陷
阱
。
例
如
,
当
你
的
程
序
m
a
p
了
一
个
文
件
,
但
是
当
这
个
文
件
被
另
一
个
进
程
截
断
(
t
r
u
n
c
a
t
e
)
时
,
w
r
i
t
e
系
统
调
用
会
因
为
访
问
非
法
地
址
而
被
S
I
G
B
U
S
信
号
终
止
。
S
I
G
B
U
S
信
号
默
认
会
杀
死
你
的
进
程
并
产
生
一
个
c
o
r
e
d
u
m
p
,
如
果
你
的
服
务
器
这
样
被
中
止
了
,
那
会
产
生
一
笔
损
失
。
通
常
我
们
使
用
以
下
解
决
方
案
避
免
这
种
问
题
:
1
.
为
S
I
G
B
U
S
信
号
建
立
信
号
处
理
程
序
当
遇
到
S
I
G
B
U
S
信
号
时
,
信
号
处
理
程
序
简
单
地
返
回
,
w
r
i
t
e
系
统
调
用
在
被
中
断
之
前
会
返
回
已
经
写
入
的
字
节
数
,
并
且
e
r
r
n
o
会
被
设
置
成
s
u
c
c
e
s
s
,
但
是
这
是
一
种
糟
糕
的
处
理
办
法
,
因
为
你
并
没
有
解
决
问
题
的
实
质
核
心
。
2
.
使
用
文
件
租
借
锁
通
常
我
们
使
用
这
种
方
法
,
在
文
件
描
述
符
上
使
用
租
借
锁
,
我
们
为
文
件
向
内
核
申
请
一
个
租
借
锁
,
当
其
它
进
程
想
要
截
断
这
b
u
f
=
m
m
a
p
(
d
i
s
k
f
d
,
l
e
n
)
;
w
r
i
t
e
(
s
o
c
k
f
d
,
b
u
f
,
l
e
n
)
;
个
文
件
时
,
内
核
会
向
我
们
发
送
一
个
实
时
的
R
T
S
I
G
N
A
L
L
E
A
S
E
信
号
,
告
诉
我
们
内
核
正
在
破
坏
你
加
持
在
文
件
上
的
读
写
锁
。
这
样
在
程
序
访
问
非
法
内
存
并
且
被
S
I
G
B
U
S
杀
死
之
前
,
你
的
w
r
i
t
e
系
统
调
用
会
被
中
断
。
w
r
i
t
e
会
返
回
已
经
写
入
的
字
节
数
,
并
且
置
e
r
r
n
o
为
s
u
c
c
e
s
s
。
我
们
应
该
在
m
m
a
p
文
件
之
前
加
锁
,
并
且
在
操
作
完
文
件
后
解
锁
:
使
用
使
用
s
e
n
d
f
i
l
e
(
f
c
n
t
l
(
d
i
s
k
f
d
,
F
_
S
E
T
S
I
G
,
R
T
_
S
I
G
N
A
L
_
L
E
A
S
E
)
=
=
-
1
)
{
p
e
r
r
o
r
(
"
k
e
r
n
e
l
l
e
a
s
e
s
e
t
s
i
g
n
a
l
"
)
;
r
e
t
u
r
n
-
1
;
/
*
l
_
t
y
p
e
c
a
n
b
e
F
_
R
D
L
C
K
F
_
W
R
L
C
K
加
锁
*
/
/
*
l
_
t
y
p
e
c
a
n
b
e
F
_
U
N
L
C
K
解
锁
*
/
(
f
c
n
t
l
(
d
i
s
k
f
d
,
F
_
S
E
T
L
E
A
S
E
,
l
_
t
y
p
e
)
)
{
p
e
r
r
o
r
(
"
k
e
r
n
e
l
l
e
a
s
e
s
e
t
t
y
p
e
"
)
;
r
e
t
u
r
n
-
1
;
从
2
.
1
版
内
核
开
始
,
L
i
n
u
x
引
入
了
s
e
n
d
f
i
l
e
来
简
化
操
作
:
系
统
调
用
s
e
n
d
f
i
l
e
(
)
在
代
表
输
入
文
件
的
描
述
符
i
n
f
d
和
代
表
输
出
文
件
的
描
述
符
o
u
t
f
d
之
间
传
送
文
件
内
容
(
字
节
)
。
描
述
符
o
u
t
f
d
必
须
指
向
一
个
套
接
字
,
而
i
n
f
d
指
向
的
文
件
必
须
是
可
以
m
m
a
p
的
。
这
些
局
限
限
制
了
s
e
n
d
f
i
l
e
的
使
用
,
使
s
e
n
d
f
i
l
e
只
能
将
数
据
从
文
件
传
递
到
套
接
字
上
,
反
之
则
不
行
。
使
用
s
e
n
d
f
i
l
e
不
仅
减
少
了
数
据
拷
贝
的
次
数
,
还
减
少
了
上
下
文
切
换
,
数
据
传
送
始
终
只
发
生
在
k
e
r
n
e
l
s
p
a
c
e
。
s
e
n
d
f
i
l
e
系
统
调
用
过
程
在
我
们
调
用
s
e
n
d
f
i
l
e
时
,
如
果
有
其
它
进
程
截
断
了
文
件
会
发
生
什
么
呢
?
假
设
我
们
没
有
设
置
任
何
信
号
处
理
程
序
,
s
e
n
d
f
i
l
e
调
用
仅
仅
返
回
它
在
被
中
断
之
前
已
经
传
输
的
字
节
数
,
e
r
r
n
o
会
被
置
为
s
u
c
c
e
s
s
。
如
果
我
们
在
调
用
s
e
n
d
f
i
l
e
之
前
给
文
件
加
了
锁
,
s
e
n
d
f
i
l
e
的
行
为
仍
然
和
之
前
相
同
,
我
们
还
会
收
到
R
T
S
I
G
N
A
L
L
E
A
S
E
的
信
号
。
目
前
为
止
,
我
们
已
经
减
少
了
数
据
拷
贝
的
次
数
了
,
但
是
仍
然
存
在
一
次
拷
贝
,
就
是
页
缓
存
到
s
o
c
k
e
t
缓
存
的
拷
贝
。
那
么
能
不
能
把
这
个
拷
贝
也
省
略
呢
?
借
助
于
硬
件
上
的
帮
助
,
我
们
是
可
以
办
到
的
。
之
前
我
们
是
把
页
缓
存
的
数
据
拷
贝
到
s
o
c
k
e
t
缓
存
中
,
实
际
上
,
我
们
仅
仅
需
要
把
缓
冲
区
描
述
符
传
到
s
o
c
k
e
t
缓
冲
区
,
再
把
数
据
长
度
传
过
去
,
这
样
D
M
A
控
制
器
直
接
将
页
缓
存
中
的
数
据
打
包
发
送
到
网
络
中
就
可
以
了
。
总
结
一
下
,
s
e
n
d
f
i
l
e
系
统
调
用
利
用
D
M
A
引
擎
将
文
件
内
容
拷
贝
到
内
核
缓
冲
区
去
,
然
后
将
带
有
文
件
位
置
和
长
度
信
息
的
缓
冲
区
描
述
符
添
加
s
o
c
k
e
t
缓
冲
区
去
,
这
一
步
不
会
将
内
核
中
的
数
据
拷
贝
到
s
o
c
k
e
t
缓
冲
区
中
,
D
M
A
引
擎
会
将
内
核
缓
冲
区
的
数
据
拷
贝
到
协
议
引
擎
中
去
,
避
免
了
最
后
一
次
拷
贝
。
#
i
n
c
l
u
d
e
<
s
y
s
/
s
e
n
d
f
i
l
e
.
h
>
s
s
i
z
e
_
t
s
e
n
d
f
i
l
e
(
i
n
t
o
u
t
_
f
d
,
i
n
t
i
n
_
f
d
,
o
f
f
_
t
*
o
f
f
s
e
t
,
s
i
z
e
_
t
c
o
u
n
t
)
;
带
D
M
A
的
s
e
n
d
f
i
l
e
不
过
这
一
种
收
集
拷
贝
功
能
是
需
要
硬
件
以
及
驱
动
程
序
支
持
的
。
使
用
使
用
s
p
l
i
c
e
s
e
n
d
f
i
l
e
只
适
用
于
将
数
据
从
文
件
拷
贝
到
套
接
字
上
,
限
定
了
它
的
使
用
范
围
。
L
i
n
u
x
在
2
.
6
.
1
7
版
本
引
入
s
p
l
i
c
e
系
统
调
用
,
用
于
在
两
个
文
件
描
述
符
中
移
动
数
据
:
s
p
l
i
c
e
调
用
在
两
个
文
件
描
述
符
之
间
移
动
数
据
,
而
不
需
要
数
据
在
内
核
空
间
和
用
户
空
间
来
回
拷
贝
。
他
从
f
d
i
n
拷
贝
l
e
n
长
度
的
数
据
到
f
d
o
u
t
,
但
是
有
一
方
必
须
是
管
道
设
备
,
这
也
是
目
前
s
p
l
i
c
e
的
一
些
局
限
性
。
f
l
a
g
s
参
数
有
以
下
几
种
取
值
:
S
P
L
I
C
E
F
M
O
V
E
:
尝
试
去
移
动
数
据
而
不
是
拷
贝
数
据
。
这
仅
仅
是
对
内
核
的
一
个
小
提
示
:
如
果
内
核
不
能
从
p
i
p
e
移
动
数
据
或
者
p
i
p
e
的
缓
存
不
是
一
个
整
页
面
,
仍
然
需
要
拷
贝
数
据
。
L
i
n
u
x
最
初
的
实
现
有
些
问
题
,
所
以
从
2
.
6
.
2
1
开
始
这
个
选
项
不
起
作
用
,
后
面
的
L
i
n
u
x
版
本
应
该
会
实
现
。
S
P
L
I
C
E
F
N
O
N
B
L
O
C
K
:
s
p
l
i
c
e
操
作
不
会
被
阻
塞
。
然
而
,
如
果
文
件
描
述
符
没
有
被
设
置
为
不
可
被
阻
塞
方
式
的
I
/
O
,
那
么
调
用
s
p
l
i
c
e
有
可
能
仍
然
被
阻
塞
。
S
P
L
I
C
E
F
M
O
R
E
:
后
面
的
s
p
l
i
c
e
调
用
会
有
更
多
的
数
据
。
#
d
e
f
i
n
e
_
G
N
U
_
S
O
U
R
C
E
/
*
S
e
e
f
e
a
t
u
r
e
_
t
e
s
t
_
m
a
c
r
o
s
(
7
)
*
/
#
i
n
c
l
u
d
e
<
f
c
n
t
l
.
h
>
s
s
i
z
e
_
t
s
p
l
i
c
e
(
i
n
t
f
d
_
i
n
,
l
o
f
f
_
t
*
o
f
f
_
i
n
,
i
n
t
f
d
_
o
u
t
,
l
o
f
f
_
t
*
o
f
f
_
o
u
t
,
s
i
z
e
_
t
l
e
n
,
s
p
l
i
c
e
调
用
利
用
了
L
i
n
u
x
提
出
的
管
道
缓
冲
区
机
制
,
所
以
至
少
一
个
描
述
符
要
为
管
道
。
以
上
几
种
零
拷
贝
技
术
都
是
减
少
数
据
在
用
户
空
间
和
内
核
空
间
拷
贝
技
术
实
现
的
,
但
是
有
些
时
候
,
数
据
必
须
在
用
户
空
间
和
内
核
空
间
之
间
拷
贝
。
这
时
候
,
我
们
只
能
针
对
数
据
在
用
户
空
间
和
内
核
空
间
拷
贝
的
时
机
上
下
功
夫
了
。
L
i
n
u
x
通
常
利
用
写
时
复
制
(
c
o
p
y
o
n
w
r
i
t
e
)
来
减
少
系
统
开
销
,
这
个
技
术
又
时
常
称
作
C
O
W
。
由
于
篇
幅
原
因
,
本
文
不
详
细
介
绍
写
时
复
制
。
大
概
描
述
下
就
是
:
如
果
多
个
程
序
同
时
访
问
同
一
块
数
据
,
那
么
每
个
程
序
都
拥
有
指
向
这
块
数
据
的
指
针
,
在
每
个
程
序
看
来
,
自
己
都
是
独
立
拥
有
这
块
数
据
的
,
只
有
当
程
序
需
要
对
数
据
内
容
进
行
修
改
时
,
才
会
把
数
据
内
容
拷
贝
到
程
序
自
己
的
应
用
空
间
里
去
,
这
时
候
,
数
据
才
成
为
该
程
序
的
私
有
数
据
。
如
果
程
序
不
需
要
对
数
据
进
行
修
改
,
那
么
永
远
都
不
需
要
拷
贝
数
据
到
自
己
的
应
用
空
间
里
。
这
样
就
减
少
了
数
据
的
拷
贝
。
写
时
复
制
的
内
容
可
以
再
写
一
篇
文
章
了
。
。
。
除
此
之
外
,
还
有
一
些
零
拷
贝
技
术
,
比
如
传
统
的
L
i
n
u
x
I
/
O
中
加
上
O
_
D
I
R
E
C
T
标
记
可
以
直
接
I
/
O
,
避
免
了
自
动
缓
存
,
还
有
尚
未
成
熟
的
f
b
u
f
s
技
术
,
本
文
尚
未
覆
盖
所
有
零
拷
贝
技
术
,
只
是
介
绍
常
见
的
一
些
,
如
有
兴
趣
,
可
以
自
行
研
究
,
一
般
成
熟
的
服
务
端
项
目
也
会
自
己
改
造
内
核
中
有
关
I
/
O
的
部
分
,
提
高
自
己
的
数
据
传
输
速
率
。
一
如
既
往
的
学
习
,
一
如
既
往
的
整
理
,
一
如
即
往
的
分
享
。
感
谢
支
持
“
如
侵
权
请
私
聊
公
众
号
删
文
”
扫
描
关
注
扫
描
关
注
L
e
m
o
n
S
e
c
觉
得
不
错
点
个
觉
得
不
错
点
个
“
赞
赞
”
、
、
“
在
看
在
看
”
哦
哦
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页