On Wed, Jul 10, 2024 at 4:34 PM Noel Chiappa <jnc(a)mercury.lcs.mit.edu> wrote:
From: Dan
Cross
These techniques are rather old, and I think go back much further than
we're suggesting. Knuth mentions nested translations in TAOCP ..
suggesting the technique was well-known as early as the mid-1960s.
I'm not sure what exactly you're referring to with "[t]hese
techniques"; I
gather you are talking about the low-level mechanisms used to implement
'system calls'?
No, I was referring to the idea of binary transliteration from one
architecture to another. I found the reference; Knuth refers to "an
extreme example of inefficient use of computer simulators [... in] the
true story of machine A simulating machine B running a program that
simulates machine C! This is the way to make a large, expensive
computer give poorer results than its cheaper cousin." (This is on
page 203 of my copy of Volume 1.)
The idea of writing simulators for machines clearly dates to before
(or near) the beginning of TAOCP. The idea of binary instruction
translation during simulation is so obvious I can't imagine it wasn't
part of such simulations; particularly early on.
If so, please permit me to ramble for a while, and
revise
your time-line somewhat.
[snip]
(I have yet to research to see if any early OS's
did use subroutine calls as their interface.)
Not terribly early, but Xinu, as described in Comer's book, did/does.
[snip]
This was very interesting, regardless; thanks.
- Dan C.