当前位置:网站首页>I/O 虚拟化技术 — UIO Framework
I/O 虚拟化技术 — UIO Framework
2022-06-26 03:33:00 【范桂飓】
目录
UIO Framework — 用户态网络协议栈方案
UIO Framework Kernel Module(User Space I/O,用户态 I/O 框架内核模块),是 Kernel 提供的用户态 I/O 驱动程序框架。基于 UIO Framework 可以编写出让数据报文绕过 Kernel Network Stack,直接进入 User Space 进行处理的内核模块(e.g. DPDK IGB_UIO)。
但是,UIO 也有着不足之处,例如:不支持 DMA(不受 IOMMU 的保护)、中断支持有限、需要 Root 权限运行等,所以通过 DMA 传输大流量数据的 I/O 设备,如:被 Passthrougth 的网卡、显卡等设备,是无法使用 UIO Framework 的。
UIO 的实现机制是:对用户态暴露一个文件接口,当注册一个 UIO 设备时,就会出现一个系统文件 /dev/uioX,对该文件的读写就是对网卡设备的内存的读写。除此之外,对网卡设备的控制还可以通过 /sys/class/uio 下的各个文件的读写来完成。
如下图:
- mmap() 接口:用于映射设备的寄存器空间。
- read() 接口:用于等待
边栏推荐
- Sqlitestudio download address
- 2022.6.25 - leetcode. Un doigt d'épée. 091.
- Plug in installation and shortcut keys of jupyter notebook
- 指南针app是正规的吗?到底安不安全
- Is it safe for Caicai securities to open an account in 2022?
- EF core Basics
- MySQL addition, deletion, query and modification (primary level)
- 上传文件/文本/图片,盒子阴影
- [hash table] improved, zipper hash structure - directly use two indexes to search, instead of hashing and% every time
- Group counting notes - instruction pipeline of CPU
猜你喜欢

MySQL开发环境

redux-thunk 简单案例,优缺点和思考

You cannot call Glide. get() in registerComponents(), use the provided Glide instance instead

Restful API interface design standards and specifications

Uni app custom selection date 2 (September 16, 2021)

ABP framework Practice Series (I) - Introduction to persistence layer

优化——多目标规划

点击事件

【哈希表】很简单的拉链法哈希结构,以至于效果太差,冲突太多,链表太长

progress bar
随机推荐
Uni app custom drop-down selection list
USB peripheral driver - Enumeration
MySQL高級篇第一章(linux下安裝MySQL)【下】
优化——多目标规划
多媒体元素,音频、视频
navicat16无线试用
Popupwindow utility class
Evaluation - analytic hierarchy process
Comparison of static methods and variables with instance methods and variables
2022.6.25 - leetcode. Un doigt d'épée. 091.
An error occurred using the connection to database 'on server' 10.28.253.2‘
Digital twin intelligent water service, breaking through the development dilemma of sponge City
Partition, column, list
Classic model alexnet
2022.6.20-----leetcode.715
进度条
Uni app custom selection date 2 (September 16, 2021)
Kotlin uses viewpager2+fragment+bottomnavigationview to implement the style of the switching module of the bottom menu bar.
Restful API interface design standards and specifications
【哈希表】改进,拉链法哈希结构——直接用两个索引查找,不用每次都hash和%一遍