当前位置:网站首页>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() 接口:用于等待
边栏推荐
- [hash table] a very simple zipper hash structure, so that the effect is too poor, there are too many conflicts, and the linked list is too long
- Nepal graph learning Chapter 3_ Multithreading completes 6000w+ relational data migration
- Kotlin learning apply plugin: 'kotlin Android extensions‘
- Uni app swiper rotation chart (full screen / card)
- Uni app custom drop-down selection list
- 2022.6.20-----leetcode.715
- Insect structure and Deconstruction
- Multimedia elements, audio, video
- Run multiple main functions in the clion project
- 渐变
猜你喜欢

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

When the tiflash function is pushed down, it must be known that it will become a tiflash contributor in ten minutes

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

Multimedia elements, audio, video

Double carbon bonus + great year of infrastructure construction 𞓜 deep ploughing into the field of green intelligent equipment for water conservancy and hydropower

Digital twin intelligent water service, breaking through the development dilemma of sponge City

Kotlin quick start

Tupu software is the digital twin of offshore wind power, striving to be the first

Camera-memory内存泄漏分析(三)

Click event
随机推荐
todolist未完成,已完成
ABP framework Practice Series (III) - domain layer in depth
2022.6.25 - leetcode. Un doigt d'épée. 091.
ABP framework Practice Series (II) - Introduction to domain layer
Insect structure and Deconstruction
MySQL advanced Chapter 1 (installing MySQL under Linux) [2]
Qt 中 deleteLater 使用总结
Non H5 end of uni app, regional setting of status bar on the top of mobile phone
Some mobile phones open USB debugging, and the solution to installation failure
Cliquez sur le bouton action de la liste pour passer à une autre page de menu et activer le menu correspondant
Worm copy construction operator overload
2022.6.25-----leetcode. Sword finger offer 091
Popupwindow utility class
You cannot call Glide. get() in registerComponents(), use the provided Glide instance instead
Contains an object field at offset position
上传文件/文本/图片,盒子阴影
机器学习笔记 - 时间序列的趋势分量
Uni app custom drop-down selection list
An error occurred using the connection to database 'on server' 10.28.253.2‘
360 second understanding of smartx hyper converged infrastructure