Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If they are running on Hyper-V on Azure, there is no underlying kernel doing anything.

It is a matter of who is offering what, not what unikernels are capable of.



Even though Hyper-V is also a type-1 hypervisor in terms of CPU execution something still needs to mediate the virtual devices to the physical hardware and that's done by the hypervisor's kernel. In Hyper-V's case that is NT which mediates the vNIC with the virtual switch and physical NIC "uplink".

Some devices they can also support hardware assisted virtualization like for PCIe devices (NICs/NVMe storage/GPUs) via SR-IOV but it's been pretty rare to see that in practice with unikernels as they typically have limited physical device driver support on top of that not really being an option everywhere all the time as it places limitations on the cloud provider that paravirtual devices don't.


Windows is also a guest OS on Hyper-V, running on privileged guest know as root partition.

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-w...


Can you explain this? Afaict hyper-v is the same as VMware or virtual box where you have a host OS and multiple guest OSes (which makes sense because you still need something to run the OS drivers). It sounds like what you’re implying is it behaves differently but I’m not sure how. Can you elaborate?


Hyper-V is similar to Xen. The hypervisor runs on bare metal, the Windows root is akin to your dom0 on Xen, and your guests are your domU.


Ok, but then I still don’t understand this piece:

> If they are running on Hyper-V on Azure, there is no underlying kernel doing anything.

In a Xen model as I understand it, the dom0 kernel is still actually responsible for talking to all the hardware directly and presenting a virtualized implementation that Xen can mux other guests on, no? So there’s still a kernel there and it’s doing quite a bit of work, no?


The dom0 kernel is responsible for talking to devices such as a disk or a NIC, yes, be that Linux, NT, *BSD, etc. The hypervisor is typically responsible for enforcing isolation of compute, memory, etc. The line does blur - for example Hyper-V may be configured with something called the “root scheduler” with which NT is responsible for scheduling virtual CPUs [0] - though the hypervisor is still enforcing the isolation.

[0] - https://docs.microsoft.com/en-us/windows-server/virtualizati...


Windows runs as guest OS on top of Hyper-V as well, it is a type 1 hypervisor.

Basically when you activate Hyper-V, you will be getting one VM running where the host is only a guest with special privileges known as root partition.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: