Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!panix!.POSTED.2602:f977:0:1::5!not-for-mail From: Rich Alderson Newsgroups: comp.os.vms Subject: OS emulation [was Re: Bootcamp] Date: 03 Jul 2025 15:14:11 -0400 Organization: PANIX Public Access Internet and UNIX, NYC Lines: 54 Sender: alderson+news@panix5.panix.com Message-ID: References: <100jfjh$2l94e$1@dont-email.me> <1044fhf$3p5ha$5@dont-email.me> <10465mq$62th$1@dont-email.me> <10467hc$9vf$1@reader1.panix.com> Injection-Info: reader1.panix.com; posting-host="2602:f977:0:1::5"; logging-data="7820"; mail-complaints-to="abuse@panix.com" X-Newsreader: Gnus v5.7/Emacs 22.3 cross@spitfire.i.gajendra.net (Dan Cross) writes: Too many levels to be certain who actually wrote the following quoted by Dan: >> 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. Agreed. > 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. -- Rich Alderson news@alderson.users.panix.com Audendum est, et veritas investiganda; quam etiamsi non assequamur, omnino tamen proprius, quam nunc sumus, ad eam perveniemus. --Galen