Re: OS emulation [was Re: Bootcamp]

Liste des GroupesRevenir à co vms 
Sujet : Re: OS emulation [was Re: Bootcamp]
De : cross (at) *nospam* spitfire.i.gajendra.net (Dan Cross)
Groupes : comp.os.vms
Date : 03. Jul 2025, 21:32:31
Autres entêtes
Organisation : PANIX Public Access Internet and UNIX, NYC
Message-ID : <1046pcv$3qu$1@reader1.panix.com>
References : 1 2 3 4
User-Agent : trn 4.0-test77 (Sep 1, 2010)
In article <mddv7o9ccjg.fsf_-_@panix5.panix.com>,
Rich Alderson  <news@alderson.users.panix.com> wrote:
cross@spitfire.i.gajendra.net (Dan Cross) writes:
>
Too many levels to be certain who actually wrote the following quoted by Dan:

Arne wrote that part.

[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.

I will definitely defer to you on the specifics, Rich, but I
should also take my own advice and qualify what I wrote...or at
least attempt to explain it better.

What I meant was that, as the machines that both TOPS-10 and
TOPS-20 ran on, were so much more constrained, and the two
systems so much smaller, that even though they were (as you
rightly point out) unrelated, the differences were necessarily
smaller simply because the total surface area of the two systems
was so much smaller than either (modern) VMS or Linux.

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).

I'm going to disagree here.  This is almost exactly the
definition of a type-2 "trap and emulate" hypervisor, a la
Goldberg's original.

I've posted this before, but for reference, here's Goldberg's
definition, as edited to update terminology by Bugnion et al:

|The implementation requirement specifies that instructions
|execute directly on the host. It does not indicate how the
|hypervisor gains control for that subset of instructions that
|must be interpreted. This may be done either by a program
|running on the bare host machine or by a program running under
|some operating system on the host machine.  In the case of
|running under an operating system, the host operating system
|primitives may be used to simplify writing the virtual machine
|monitor.  Thus, two additional VMM categories arise:
|
| * type-1: the VMM runs on a bare machine,
| * type-2: the VMM runs on an extended host, under the host
|   operating system
|
|[...] In both type-1 and type-2 VMM, the VMM creates the
|virtual machine.  However, in a type-1 environment, the VMM on
|a bare machine must perform the system's scheduling and (real)
|resource allocation.  Thus, the type-1 VMM may include such
|code not specifically needed for virtualization.  In a type-2
|system, the resource allocation and environment creation
|functions for virtual machine are more clearly split.  The
|operating system does the normal system resource allocation and
|provides a standard extended machine.

With respect to "WINE", I suspect that the "emulator" they're
referring to code/instruction emulation at the hardware level,
not emulating the system interface.  The terminology here is
unfortunately somewhat ambiguous, but I imagine they were trying
to contrast with Wabi, which did do hardware emulation (it
originally ran on SPARC).

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.

Well, picking a different instruction is certainly a different
mechanism, and is what I meant.  The point is that whatever is
handling the trap in the monitor can look at how it was entered
to determine how to respond.

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.

And to be clear, I consider gVisor a hypervisor, as well.

- Dan C.


Date Sujet#  Auteur
21 May 25 * Bootcamp51Arne Vajhøj
21 May 25 +* Re: Bootcamp5Robert A. Brooks
21 May 25 i+* Re: Bootcamp2David Meyer
22 May 25 ii`- Re: Bootcamp1Subcommandante XDelta
23 May 25 i+- Re: Bootcamp1Stephen Hoffman
3 Jun 25 i`- Re: Bootcamp1Arne Vajhøj
3 Jun 25 +* Re: Bootcamp4Arne Vajhøj
6 Jun 25 i`* Re: Bootcamp3Craig A. Berry
6 Jun 25 i `* Re: Bootcamp2Arne Vajhøj
6 Jun 25 i  `- Re: Bootcamp1Craig A. Berry
7 Jun 25 `* Re: Bootcamp41Subcommandante XDelta
7 Jun 25  +* Re: Bootcamp17Lawrence D'Oliveiro
7 Jun 25  i`* Re: Bootcamp16Arne Vajhøj
9 Jun 25  i `* Re: Bootcamp15Simon Clubley
9 Jun 25  i  +- Re: Bootcamp1Simon Clubley
9 Jun 25  i  +* Re: Bootcamp8Dan Cross
9 Jun 25  i  i+* Re: Bootcamp2Simon Clubley
9 Jun 25  i  ii`- Re: Bootcamp1Dan Cross
9 Jun 25  i  i`* Re: Bootcamp5Arne Vajhøj
9 Jun 25  i  i +- Re: Bootcamp1Dan Cross
9 Jun 25  i  i +* Re: Bootcamp2Lawrence D'Oliveiro
9 Jun 25  i  i i`- Re: Bootcamp1Arne Vajhøj
10 Jun 25  i  i `- Re: Bootcamp1Simon Clubley
9 Jun 25  i  `* Re: Bootcamp5Arne Vajhøj
9 Jun 25  i   +* Re: Bootcamp2Robert A. Brooks
9 Jun 25  i   i`- Re: Bootcamp1Arne Vajhøj
9 Jun 25  i   +- Re: Bootcamp1Chris Townley
10 Jun 25  i   `- Re: Bootcamp1Simon Clubley
1 Jul 25  `* Re: Bootcamp23gcalliet
1 Jul 25   +* Re: Bootcamp4Simon Clubley
2 Jul 25   i`* Re: Bootcamp3gcalliet
2 Jul 25   i +- Re: Bootcamp1Arne Vajhøj
2 Jul 25   i `- Re: Bootcamp1Simon Clubley
2 Jul 25   `* Re: Bootcamp18Lawrence D'Oliveiro
2 Jul 25    `* Re: Bootcamp17gcalliet
3 Jul 25     `* Re: Bootcamp16Lawrence D'Oliveiro
3 Jul15:56      `* Re: Bootcamp15Arne Vajhøj
3 Jul16:27       +* Re: Bootcamp3Dan Cross
3 Jul20:14       i`* OS emulation [was Re: Bootcamp]2Rich Alderson
3 Jul21:32       i `- Re: OS emulation [was Re: Bootcamp]1Dan Cross
3 Jul17:33       +* Re: Bootcamp2bill
3 Jul17:47       i`- Re: Bootcamp1Chris Townley
3 Jul23:39       `* Re: Bootcamp9Lawrence D'Oliveiro
4 Jul01:56        +* Re: Bootcamp2Arne Vajhøj
4 Jul02:40        i`- Re: Bootcamp1Lawrence D'Oliveiro
6 Jul01:36        `* Re: Bootcamp6Waldek Hebisch
6 Jul04:22         +* Re: Bootcamp4Lawrence D'Oliveiro
6 Jul13:52         i`* Re: Bootcamp3Waldek Hebisch
6 Jul16:04         i +- Re: Bootcamp1bill
6 Jul22:38         i `- Re: Bootcamp1Lawrence D'Oliveiro
6 Jul16:02         `- Re: Bootcamp1bill

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal