> Takový typ virtualizace má tak nízký overhead, že výkonově se to dá spíše nazvat izolací procesů, než skutečnou virtualizací
Z toho bych si skoro odvodil (byť to není tak explicitně řečeno), že PV je výkonnější než přinejmenším HVM, trochu bych i čekal, že to bude výkonostně ideální volba ze všech možností. Bývávalo na x86_32. Na tento obrázek si pamatuju ještě z časů před Spectre/Meltdown: https://wiki.xenproject.org/wiki/File:Xen-colors.png
Správa paměti v PV je na x64 takový hack, který bere něco výkonu, na druhé straně tu máme skoro na všech x64 hardwarovou virtualizaci. Dnes navíc hrají roli i patche pro Meltdown/Spectre, které – pokud si dobře pamatuju – nejvíce zasáhly právě PV, protože ostatní režimy nebyly zasaženy Meltdownem.
Mimochodem, čistého PV QubesOS zbavuje kvůli bezpečnosti a na ARM je tuším čisté PV jen věcí někdejších experimentů.
Ideální by měl být režim PVH(v2), akorát ten nepodporuje (nebo aspoň nepodporoval) PCI passthrough.
> Kromě toho ale lze Linux spustit se speciálním loaderem nazvaným pygrub a jeho bezpečnější variantou pv-grub
V čem je bezpečnější?
- Jak jsem psal, tak o výkonu a efektivitě typů virtualizace chci psát v příštím článku, a je to překvapivé.
- proč je pv-grub bezpečnější než pygrub, a jaký je mezi nimi rozdíl, je hezky vysvětleno např. v jednom docela starém, ale hezkém článku:
https://blog.xenproject.org/2008/08/28/xen-33-feature-pv-grub/
konkrétně:
" PyGRUB used to act as a “PV bootloader”: it runs in dom0 as root, opens the PV disk image, reads its GRUB menu.lst, presents a GRUB-like menu to let the user choose a kernel which it copies to the dom0 filesystem, it then closes the disk image and eventually tells the domain builder to use that copy. Such a dom0 root process that parses user-provided data is a potential security breach...
PV-GRUB, on the other hand, is the real GRUB source code recompiled against Mini-OS, and works much more like a usual bootloader: it runs inside the very PV domain that will host the PV guest. In the PV domain configuration file, one just gives the path to the PV-GRUB kernel.... "