You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
简介
virtio-drivers是一个活跃的开源项目,在github上已被300多个项目使用。virtio-drivers实现了多个与操作系统无关的virtio设备的Rust驱动程序,可独立运行,也可被操作系统内核/Hypervisor等调用,简化系统软件的开发。
目标
本项目的目标是让virtio-drivers支持最新的virtio 规范-1.2中的各种虚拟设备,并能让这些驱动被不同的操作系统(包括Linux Kernel)调用。
规范
virtio规范是一种为虚拟化环境中的设备和驱动程序之间定义通信接口的规范。它旨在提供一种标准的、通用的设备虚拟化框架,使不同虚拟化平台上的设备和驱动程序能够无缝地交互。
virtio规范定义了一组设备类型和与其通信的协议,以及设备和驱动程序之间的数据传输格式。这些设备类型包括网络适配器、块设备、串行端口、内存设备等。virtio设备是一种虚拟设备,它与虚拟机中的驱动程序进行通信,而不是直接与物理设备交互。
virtio规范中的通信协议基于共享内存机制和队列模型。设备和驱动程序之间通过共享内存传输数据,通过队列进行异步通信。驱动程序向设备发送请求或命令,设备将响应或数据放入队列中,然后驱动程序读取队列中的数据进行处理。
通过使用virtio规范,虚拟化平台可以提供通用的设备接口,而不需要为每种设备类型编写特定的驱动程序。这使得虚拟机可以在不同的虚拟化平台上移植和运行,而无需修改设备驱动程序。
virtio规范由一个主要的virtio设备规范和一组特定设备的扩展规范组成。主要的virtio设备规范定义了通用的设备类型和通信机制,而扩展规范则定义了特定设备类型的详细规范。
Virtio specification 1.2包括以下部分:
参考
相关链接:
如有兴趣一起来探索,请联系我 yuchen AT tsinghua.edu.cn OR 微信 id chyyuu
Beta Was this translation helpful? Give feedback.
All reactions