Might interest the bods here too...
-- Dave
---------- Forwarded message ----------
From: Paul Ruizendaal
To: "tuhs(a)tuhs.org" <tuhs(a)tuhs.org>
Subject: [TUHS] RIP Niklaus Wirth, RIP John Walker
Earlier this year two well known computer scientists passed away.
On New Year’s Day it was Niklaus Wirth aged 90. A month later it was John Walker aged 75.
Both have some indirect links to Unix.
For Wirth the link is that a few sources claim that Plan 9 and the Go language are in part
influenced by the design ideas of Oberon, the language and the OS. Maybe others on this
list know more about those influences.
For Walker, the link is via the company that he was running as a side-business before he
got underway with AutoCAD:
https://www.fourmilab.ch/documents/marinchip/
In that business he was selling a 16-bit system for the S-100 bus, based around the TI9900
CPU (which from a programmer perspective is quite similar to a PDP11). For that system he
wrote a Unix-like operating system around 1978-1980, called NOS/MT. He had never worked
with Unix, but had spelled the BSTJ issues about it. It was fully written in assembler.
The design was rather unique, maybe inspired by Heinz Lycklama’s “Satellite Processor”
paper in BSTJ 57-6. It has a central microkernel that handles message exchange, process
scheduling and memory management. Each system call is a message. However, the system call
message is then passed on to a privileged “fat kernel” process that handles it. The idea
was to provide multiprocessor and network transparency: the microkernel could decide to
run processes on other boards in the same rack or on remote systems over a network. Also
the kernel processes could be remote. Hence its name “Network Operating System /
Multitasking” or “NOS/MT”.
The system calls are pretty similar to Unix. The file system is implemented very similar
to Unix (with i-nodes etc.), with some notable differences (there are file locking
primitives and formatting a disk is a system call). File handles are not shareable, so
special treatment for stdin/out/err is hardcoded. Scheduling and memory management are
totally different -- unsurprising as in both cases it reflects the underlying hardware.
Just as NOS/MT was getting into a usable state, John decided to pivot to packaged software
including a precursor of what would become the AutoCAD package. What was there worked and
saw some use in the UK and Denmark in the 1980’s -- there are emulators that can still run
it, along with its small library of tools and applications. “NOS/MT was left in an
arrested state” as John puts it. I guess it will remain one of those many “what if” things
in computer history.