【发布时间】:2017-12-11 08:10:08
【问题描述】:
基于标准 Linux 系统,其中有一个用户区应用程序和内核网络堆栈。我读到将帧从用户空间移动到内核空间(反之亦然)在 CPU 周期方面可能会很昂贵。
我的问题是,
- 为什么?并且正在向一个方向移动框架(即从用户到 内核)具有更高的影响。
- 另外,当你 进入基于 TAP 的界面。由于框架仍将继续 用户/内核空间之间。是否存在空间问题,或者是否存在某种形式的零拷贝?
【问题讨论】:
-
系统调用很昂贵。复制(从/到用户空间)相对便宜。
-
@wildplasser 好的,那么你什么时候使用系统调用?
-
仅供参考:
read()和write()是系统调用。