←back to thread

97 points nkali | 2 comments | | HN request time: 0.39s | source
Show context
msla ◴[] No.46179131[source]
It's interesting how this article deconstructs the buzzwords used in the marketing material to get from "VisiOn is a multitasking object-oriented OS using a VM to be portable" to "VisiOn is a DOS shell that uses C structs in a documented API and was never meaningfully portable"

Seriously, the "VM" thing is stupid:

> The term "virtual machine" used by VisiOn developers means something different from what we mean by the words "virtual machine" today. The closest word we use today would be "API". That's right, Visi On applications use a cross-platform API. Just like almost any other operating system today. I bet it was a really cool idea back in 1983, though.

As if VM isn't overloaded enough already (quick: does it mean "Virtual Memory", "Virtual Machine" as in the JVM, or "Virtual Machine" as in Xen?) using it to mean "API" is just dishonest.

replies(2): >>46179323 #>>46179696 #
jdougan ◴[] No.46179323[source]
The latter 2 usages are pretty much the same. They just have different virtual instruction sets.
replies(1): >>46184433 #
1. msla ◴[] No.46184433[source]
> The latter 2 usages are pretty much the same.

Only if you ignore most of reality, sure.

replies(1): >>46195091 #
2. lproven ◴[] No.46195091[source]
> Only if you ignore most of reality, sure.

No, not really.

Hypervisor VM: emulates a virtual computer with virtual, emulated hardware, but a simulated version of the same CPU as the host, allowing 1 OS to run under another.

E.g. Xen, VMware, KVM, bhyve

Bytecode VM: emulates a partial virtual environment, with an emulated CPU and some form of conversion or translation from virtual environment to the underlying real API and real OS, allowing programs to execute on radically different OSes on different CPUs.

E.g. JVM, MoarVM, Parrot VM, Dis in Inferno

Emulator VM: emulates a virtual computer with virtual, emulated hardware, including a virtual CPU.

E.g. MESS, RetroVM, ZesaruX

Container: emulates an OS from userland down, but shares the same OS kernel across instances.

E.g. Docker, LXC, LXD, Incus, FreeBSD jails, Solaris Zones