5) The idea of emulating one OS on another OS is questionable
in itself.
This really needs to be qualified, as it is common and has been
done for decades. Evaluation criteria must include a) the
complexity of the emulation target, and b) its alignment with
the existing system design.
Consider PA1050 on TOPS-20, for example: this was a type-2 hypervisor that allowed the DECSYSTEM-20 to provide very faithful emulation of TOPS-10. But TOPS-20 is argably closer to TOPS-10 than, say, VMS is to Linux.
And since TOPS-20 used a different mechanism for trapping into the executive for system requests than TOPS-10, it was easy to distinguish between the two.
On the other hand, things like gVisor, which emulates the Linux
kernel interface, are very complex and difficult to get right.
And of course the PDP-10 was a much simpler machine than x86_64.
Too many levels to be certain who actually wrote the following quoted by Dan:
[snip]
Consider PA1050 on TOPS-20, for example: this was a type-2 hypervisor that >> allowed the DECSYSTEM-20 to provide very faithful emulation of TOPS-10. But >> TOPS-20 is argably closer to TOPS-10 than, say, VMS is to Linux.
Boggle.
Tops-10 and TENEX/TOPS-20 run on the same base hardware (the PDP-10), and >TOPS-20 shares part of its name with Tops-10, but other than that they are >entirely unrelated.
PA1050 (which was written by the BBN folks who created TENEX, the ancestor of >TOPS-20), emulates a subset of the system calls of Tops-10, in order to allow >utilities like the FORTRAN and COBOL compilers to run on an OS for which they >were not engineered. It does this by mapping a set of routines into the user >program which then make TOPS-20 system calls invisibly. These routines are >mapped in when the first Tops-10 system call (which is in essence an illegal >instruction that thereby triggers a trap to the monitor) is encountered in the >user program instruction stream.
PA1050 is, in this sense, not a hypervisor but something equivalent to the Wine
emulator on Linux ("Wine Is Not an Emulator", indeed).
And since TOPS-20 used a different mechanism for trapping into the executive >> for system requests than TOPS-10, it was easy to distinguish between the two.
At the base level, no, it does not. It simply uses a different "illegal" >instruction to trigger the context switch from user mode to monitor mode than >does Tops-10.
On the other hand, things like gVisor, which emulates the Linux
kernel interface, are very complex and difficult to get right.
And of course the PDP-10 was a much simpler machine than x86_64.
Agreed.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 505 |
Nodes: | 16 (2 / 14) |
Uptime: | 97:11:13 |
Calls: | 9,937 |
Calls today: | 3 |
Files: | 13,816 |
Messages: | 6,348,875 |