includes a GCOS (6 I think) emulator which allows some GCOS
programs to run under Multics. (The GCOS emulator copies the GCOS
program to a segment, and executes the segment in BAR mode with an
offset of 0; the GCOS application does OS calls with the MME (Master Mode
Entry) instruction. The GCOS emulator intercepts the MME calls with Multics
exception handler, deciphers what the call wants, does it, and continues the
I assume NOT GCOS 6 as that ran on the DPS6 mini and would need instruction emulation as
well as MME.
Most likely GCOS 3, usually just known as GCOS which was the operation system that ran on
the GE600, GE600, L66/L6000/DPS300,
i.e. the hardware from which the multics machines were derived.
MME is/was the equivalent of the IBM SVC (supervisor call) instruction...
.. not surprised it runs more quickly. GCOS 3 is only a swapping environment AKA OS MVT.
Multics is true virtual
Same effect could be observed on IBM Mainframe. Running DOS VSE under VM/370. It ran
Several of the GCOS applications provided as part of the Multics distribution
work; such as the DN355 cross assembler. (Let's see: running a cross
assembler under a GCOS simulator running under Multics, which is running
on emulated hardware. </scratch head>).
If the instruction set is similar it is not really that contrived. The DN355 cross
assembler is written in L66 code. Multics just needs to emulate the system calls.
Just about the same as running MVT programs under VM or MTS on Hercules. For really weird
try running the IBM1401 emulator on Hercules on X64...
There is a also the GCOS TSS subsystem which is an interactive programming
environment supporting several languages (Multics includes the BASIC and
FORTRAN runtimes). Sadly, there remain some emulator bugs that are
causing some failures under TSS; and lacking the source code for TSS, it is
proving to be an intractable issue.
I wonder if my memory can be jogged. Sadly I no longer have the materials from the TSS
internals course I went on in Holland...