Live data from Hacker News

QEMU Internals

airbus-seclab.github.io

1–10 of 36 posts

Re: QEMU Internals

#2
Thank you.

On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare.

So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

Re: QEMU Internals

#3
post #2

Thank you. On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare. So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

I've always been intrigued by virtual machines and emulation as well. I've always wanted to try and make an emulator of some kind. I don't know much about the internals of VirtualBox, but my suggestion would be to start "easy" with one CPU/Computer System/Game Console and go from there. That's what I finally did with the 6502 and Commodore 64.

Re: QEMU Internals

#4
post #2

Thank you. On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare. So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

For a really simple emulator project (not quite the level of VirtualBox), check the "IntCode" challenges from AdventOfCode 2019.

Re: QEMU Internals

#5
post #3
post #2

Thank you. On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare. So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

I've always been intrigued by virtual machines and emulation as well. I've always wanted to try and make an emulator of some kind. I don't know much about the internals of VirtualBox, but my suggestion would be to start "easy" with one CPU/Computer System/Game Console and go from there. That's what I finally did with the 6502 and Commodore 64.

Conventionally, one starts from the CHIP-8, which is indeed a virtual machine rather than a system in a strict sense.

What I've found difficult is the step beyond that. NES and GameBoy are typical steps, however, I've been very frustrated by the confusing documentation of the GameBoy. There are 3/4 references, but one of them has significant mistakes, while another is incomplete. On the other hand, the Pan Docs should be complete and accurate.

I'm not sure if there is an easy middle ground, that, at the same time, is also well documented.

The Atary 2600 is architecturally simpler but less documented, and also requires very accurate timings. I've read somebody suggesting systems like Channel F, Astrocade and Odyssey2, but I'm not sure they're well documented.

I've personally lost my interest once I've found that building an emulator was essentially fighting specifications rather than actually building something.

Re: QEMU Internals

#6
post #2

Thank you. On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare. So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

I work on virtual machines at Google. I usually suggest "Hardware and Software Support for Virtualization" [1] to new team members without a virtualization background.

[1] https://www.amazon.com/Hardware-Software-Virtualization-Synt...

Re: QEMU Internals

#7
post #2

Thank you. On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare. So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

For a really simple emulator project (not quite the level of VirtualBox), check the "IntCode" challenges from AdventOfCode 2019.

Those were so fun! I loved my little VM as it progressed and played pong, and commanded robots and rendered the output etc.

It's a really great fun way to learn the key concepts.

Re: QEMU Internals

#9
post #2

Thank you. On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare. So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

"KVM host in a few lines of code" (https://zserge.com/posts/kvm/) is a fun article to get started with.

Re: QEMU Internals

#10
post #2

Thank you. On the same subject can someone recommend a book or any other resource to learn about virtual machine internals? My goal is to try to build a toy clone of VirtualBox/VMWare. So far I have found one -- Virtual Machines by James E. Smith and Ravi Nair.

The sibling's comment book recommendation "Hardware and Software Support for Virtualization" book is on point and it's written by one of the co-founders of VMware.

Another book on Libvirt will be handy since it is the de facto API for most virtualization including VMs and containers[1].

[1]https://www.amazon.com/Foundations-Libvirt-Development-Maint...

Post reply on HN