←back to thread

QEMU 10.1.0

(wiki.qemu.org)
302 points dmitrijbelikov | 3 comments | | HN request time: 0.204s | source
Show context
dijit ◴[] No.45038037[source]
QEMU is truly excellent software, from the perspective of a person who very rarely needs to emulate another architecture. It "just works" and has wonderful integrations with basically everything I could want.. sometimes it feels like magic: even if the commandline UX is a bit weird in places.

I've always wondered though how it works with KVM: I know KVM is a virtualisation accelerator that enables passing through native code to the CPU somehow; but it feels like QEMU/KVM basically runs the internet now. Almost the entire modern cloud is built on QEMU and KVM as a hypervisor (right?) but I feel like I'm missing a lot about how it's working.

I also wonder if this steals huge amounts of resources away from emulation, or does it end up helping out. Because to say the modern internet is largely running on QEMU is likely a massive understatement.

replies(8): >>45038105 #>>45038111 #>>45038113 #>>45038185 #>>45038444 #>>45038616 #>>45038965 #>>45038990 #
1. jamesy0ung ◴[] No.45038111[source]
Yeah I also found myself curious as to how KVM actually works, I found these helpful

https://www.kernel.org/doc/ols/2007/ols2007v1-pages-225-230.... http://www.haifux.org/lectures/312/High-Level%20Introduction... https://zserge.com/posts/kvm/

replies(2): >>45038145 #>>45039323 #
2. dijit ◴[] No.45038145[source]
Awesome, thanks for the entrypoint!
3. penguin_booze ◴[] No.45039323[source]
Excellent. I haven't gone through them yet, but if you've any similar pointers for QEMU, please share.

My rough understanding is that it's the user-space emulation part of a virtualization solution. I.e., when the kernel traps the virtualized process, saying 'nope, you can't do that here', the control falls back to user space handler in QEMU saying, 'hey, the kernel said I can't do that there; can you sort this out?'. And this back-and-forth games keeps happening during the lifetime of the virtualized process.