virtio
ভার্টিও
Hypervisor-স্বাধীন, open standard paravirtualized I/O ইন্টারফেস — virtqueue ring buffer দিয়ে batched, কম-VM-exit disk/network access দেয়।
also: virtio-net, virtio-blk, virtio-scsi, PV driver
virtqueue = descriptor table {addr,len} + available ring (guest→host) + used ring (host→guest)
N operation, batch হলে ~ceil(N / batch) VM-exit (N-এর বদলে)
- Rusty Russell (2008)-এর পেপার থেকে জন্ম — প্রতিটা hypervisor-এর আলাদা PV driver বানানোর বদলে একটা common standard, আজ OASIS-এ সংজ্ঞায়িত
- একই virtio-net/virtio-blk driver KVM, Xen (HVM+PV-drivers), অন্য compliant hypervisor-এ অপরিবর্তিত চলে
- সুবিধা batching থেকে আসে — batch size ১-এ full-device-emulation-এর সমান VM-exit সংখ্যা, লাভ নেই
- Windows guest-এ নেটিভভাবে নেই বলে আলাদা install লাগে (
virtio-winISO); Linux kernel-এ built-in