Virtio 是半虛擬化 hypervisor 中位於設備之上的抽象層。
簡介,特點,
簡介
Virtio 是半虛擬化 hypervisor 中位於設備之上的抽象層。virtio 由 Rusty Russell 開發,他當時的目的是支持自己的虛擬化解決方案 lguest。
virtio 是對半虛擬化 hypervisor 中的一組通用模擬設備的抽象。該設定還允許 hypervisor 導出一組通用的模擬設備,並通過一個通用的套用編程接口(API)讓它們變得可用。下圖展示了為什麼這很重要。有了半虛擬化 hypervisor 之後,來賓作業系統能夠實現一組通用的接口,在一組後端驅動程式之後採用特定的設備模擬。後端驅動程式不需要是通用的,因為它們只實現前端所需的行為。
特點
除了前端驅動程式(在來賓作業系統中實現)和後端驅動程式(在 hypervisor 中實現)之外,virtio 還定義了兩個層來支持來賓作業系統到 hypervisor 的通信。在頂級(稱為 virtio)的是虛擬佇列接口,它在概念上將前 端驅動程式附加到後端驅動程式。驅動程式可以使用 0 個或多個佇列,具體數量取決於需求。例如,virtio 網路驅動程式使用兩個虛擬佇列(一個用於接收,另一個用於傳送),而 virtio 塊驅動程式僅使用一個虛擬佇列。虛擬佇列實際上被實現為跨越來賓作業系統和 hypervisor 的銜接點。但這可以通過任意方式實現,前提是來賓作業系統和 hypervisor 以相同的方式實現它。