Hacker News new | past | comments | ask | show | jobs | submit login

I'm not convinced that the subject is narrow enough to overview in a single book. The considerations involved in writing a Nintendo emulator, a hypervisor using VT-x, a conventional multitasking operating system, an interpreter for a new scripting language, a SQL query optimizer, a regular expression matcher, a security monitor for untrusted player code running on a game server, etc., would seem to have very little overlap. But these are all "virtual machines". There's even a stack-based virtual machine in the terminfo format for specifying character-cell terminal escape sequences!

In a deep sense, virtual machines are what make computers computers, as we use the term today. Turing's 01936 paper about the Entscheidungsproblem hinged on virtual machines being able to emulate one another.




You are thinking about "Virtual Machines" in a more philosophical/abstract sense. Here the definition is in a much more narrower and conventional sense. Surprisingly i can't find too many books on this subject. The Iain Craig book looks pretty interesting since it seems to link language to the VM, so maybe one can learn both language design and a VM to run it on.

Other than the above i can only think of studying "QEMU Internals" for more knowledge - https://airbus-seclab.github.io/qemu_blog/


I'm mostly talking about the sense of the term used in the title of the article we're commenting on, not a more philosophical sense, though I did draw the connection in my second paragraph. It's hard to get less philosophical than terminfo!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: