No, my computer is not a fast PDP-11. Rather, it is a much faster, much more advanced architecture, that's capable of emulating many fast PDP-11s at once.
Ever since virtual memory was invented, operating systems have been about providing a virtual environment for their programs, which generally gives programs the illusion that they have their own memory space, etc. The idea of VM/CMS is that each program gets its own CMS computer.
How is this really different from a hypervisor that's optimized to quickly spin up a unix userspace environment and run a process in it?
Also modern OSes generally have a way to detect different types of binaries and run them through the right binary interpreter, without having to resort to shebang shenanigans and modifying the file. WINE does it with .exe, so why can't/don't other emulators do this? Is it lack of a standard mechanism for setting it up?
It'd be great to just run an unmodified 8080 CP/M program on my terminal from bash just like I can run, say, /usr/bin/git? Maybe I'd need some qemu configuration to tell it where to find libraries, etc., but that's fair.
If wine can do it with .exe files, why can't we do similar with SunOS 3.5 or OS/2 or Minix or C64 binaries, via QEMU or SIMH or VICE or whatever? Sure, you'd have to install an emulator or runtime, but when you do, why not just get binary execution capability?
Is it just that nobody has done this, or it's not possible for some reason, or maybe someone has done it and I just don't know about it?
(Yeah there would be challenges, like being able to tell if a PRG file was for C64 or PET or C128 or VIC-20 or whatever, but it could be configuratble.)