首页 > 系统相关 >Linux面试题3:Linux零拷贝技术

Linux面试题3:Linux零拷贝技术

时间:2022-11-27 15:13:24浏览次数:39  
标签:面试题 api 内核 IO Linux 缓冲区 拷贝 copy

zero-copy技术

Linux网络IO数据传输过程图

整个操作过程中,做了四次用户态和内核态的状态切换,数据从网卡copy到内核缓冲区,再从内核缓冲区copy到user-space;写入时从user-space copy到内核缓冲区,再从内核缓冲区copy到硬盘设备。做了太多的无用功。

ZERO-COPY主要分为三个大的优化方面

  • api接口方面:通过新的api接口,可以减少状态切换,介绍用户数据的copy
  • 硬件支持方面:通过新的硬件支持,让cpu可以从copy数据的逻辑中释放出来, 让新硬件代替cpu做数据copy功能(DMA技术
  • 用户态直接操作硬件:比较理想,局限性很多

api层面主要有以下几个linux支持的接口,这些接口也都由golang来对应判断

  • IO.Copy() IO.ReadFrom() IO.WriteTo()
  • linux -> splice() / sendFile()

标签:面试题,api,内核,IO,Linux,缓冲区,拷贝,copy
From: https://www.cnblogs.com/fenngz/p/16929715.html

相关文章

  • linux卸载redis
    linux卸载redis的方法:1、打开终端命令行模式;2、输入以下命令查看reids是否在运行;3、将redis-server服务停止;4、删除/usr/local/lib目录下与redis相关的文件;5、删除掉......
  • 宝宝精刷题笔记 面试题 02.05. 链表求和
    题目描述给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例1:输入......
  • 【面试题】 面试官为啥总是喜欢问前端路由实现方式?
    背景从事前端开发的同学,在实际工作中,一定会接触过路由这个概念,同时在面试的过程中,经常会被问及关于前端路由的实现方式,面试官到底想考察什么?在现在SPA单页面模式盛行,前后端......
  • 适用于 Linux 的 Windows 子系统(WSL)安装指南
    (目录)WindowsSubsystemforLinuxWSL提供了一个微软开发的Linux兼容内核接口(不包含Linux代码),来自Ubuntu的用户模式二进制文件在其上运行。简单来说就是用Linux系统去......
  • 深拷贝 浅拷贝 深拷贝浅拷贝的方法
    浅拷贝:浅拷贝拷贝的是对象的一层属性如果对象里面还有对象则拷贝的是复杂数据类型的地址 浅拷贝一般使用Object.assign(给谁,拷贝谁){...对象名}深拷贝:深拷贝拷贝的是对......
  • linux表示上级目录,当前目录,根目录
    /是指根目录:就是所有目录最顶层的目录./表示当前目录./一般需要和其他文件夹或者文件结合使用,指代当前目录下的东西cd.没有太多意义cd./文件夹切换......
  • Linux查看目录下的文件个数和大小
    一、查看某目录下的文件个数1.查看目录下的文件个数即当前目录/hdapp目录下有多少个文件ls-l|grep"^-"|wc-l2.查看指定目录下的文件个数如果省略指定目录......
  • 在Linux配置git
    生成sshssh-keygen-trsa可以不设置密码,一路回车就行,会在~/.ssh/下生成两个sshkey:ssh-add ~/.ssh/id_rsa.pub这一步是使用刚才生成那个公钥作为本机ssh使用的口......
  • Linux将一个文件夹或文件夹下的所有内容复制或移动到另一个文件夹
    1、将一个文件夹下的所有内容复制到另一个文件夹下cp-r/home/packageA/*/home/cp/packageB/或cp-r/home/packageA/./home/cp/packageB/这两种方法效果是一样的......
  • Linux笔记02: Linux环境_2.1 Linux系统安装
     2.2Linux系统本文使用的Linux系统为CentOS7.9.2009,读者可以根据自己的需要选择不同的版本。 2.2.1CentOS版本CentOS基本上是安装在i386、x86_64的CPU硬......