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

This is, as I understand it, not an emulator but a VM core for running bytecode. A better comparison would be the JVM, or LLVM, or any of the VMs used by popular languages such as Ruby and Python.


Can you explain the difference? From my point of view, both are in principle loops that execute a set of Assembly-like instructions.


Emulators like QEMU are designed to emulate an existing instruction set such as x86, and they also need to emulate a specific memory model, interrupt model, I/O subsystem etc. VMs such as in this post are designed without such constraints.

Both are designed around the core principle of a "virtual machine" — decode some kind of stream of machine code instructions, execute each instruction, and maintain the stack and memory state along the way — but they target different use cases with different nuances in the implementation.


Ah yes, a language VM, not an OS VM. My mistake.




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

Search: