Earlier quoted context omitted.
> I expected this to be about system virtualization, not language VMs. Interesting though, but not my area of expertise. The blatant reuse of abbreviations and terms is one of my pet peeves. For example, VM can mean Virtual Machine, Virtual Machine, or Virtual Memory. Yep, three completely distinct things, two of which are helpfully referred to under the same expanded name as well. Do you know all three? mroche has h…
Your first two "virtual machines" are actually not that different. Sure, xen simulates the same CPU type as host, and talks to host via block devices and raw sockets, and each guest includes the full OS and filesystem; while Java VM simulates a completely different CPU, and uses host's OS for filesystem and TCP/IP access. They seem pretty distinct. But you are just looking at the sides of the spectrum, and there are…
Perhaps the most striking frequent differences between a typical OS VM and a typical language VM is memory management.
...Which is the very thing that the author sets out to bridge the gap for. Were higher-lever memory management available in the OS, the line would become truly fuzzy between the two.