The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] PCS Munix kernel source
@ 2022-08-11  6:04 Paul Ruizendaal via TUHS
  2022-08-11  9:01 ` [TUHS] " Holger Veit
  2022-08-11 13:32 ` Nelson H. F. Beebe
  0 siblings, 2 replies; 6+ messages in thread
From: Paul Ruizendaal via TUHS @ 2022-08-11  6:04 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society


> Message: 4
> Date: Wed, 10 Aug 2022 12:29:24 +0200
> From: Holger Veit <hveit01@web.de>
> Subject: [TUHS] PCS Munix kernel source
> 
> Hi all,
> 
> I have uploaded the kernel source of 32 bit PCS MUNIX 1.2 to
> https://github.com/hveit01/pcs-munix.

Thank you for sharing this work, most impressive!

> MUNIX was an AT&T SVR3.x implementation ...

Are you sure? Could it perhaps be SVR2? (I don’t see any STREAMS stuff that one would expect for R3).

> The interesting feature of this kernel is the integration of the
> Newcastle Connection network

One of my interests is Unix (packet) networking 1975-1985 and that includes Newcastle Connection. I’ve so far not dived deep into this, but your work may be the trigger for some further investigation.

My understanding so far (from reading the paper a few years ago) is that Newcastle Connection works at the level of libc, substituting  system calls like open() and exec() with library routines that scan the path, and if it is a network path invokes user mode routines that use remote procedure calls to give the illusion of a networked kernel. I’ve briefly looked at the Git repo, but I do not see that structure in the code. Could you elaborate a bit more on how Newcastle Connection operates in this kernel? Happy to communicate off-list if it goes in too much detail.

I note that the repo Readme says that the kernel only does some basic IP networking as a carrier, but I also see some files in the tree that seem to implement a form of tcp (and that seem unrelated to the early Unix tcp/ip’s that I have seen so far). Or am I reading too much into these files?

===

Re-reading the Newcastle Connection paper also brought up some citations from Bell Labs work that seems to have been lost. There is a reference to “RIDE” which appears to be a system similar to Newcastle Connection. The RIDE paper is from 1979 and it mentions that RIDE is a Datakit re-implementation of earlier an earlier system that ran on Spider. Any recollections about these things among the TUHS readership?

The other citation is for J. C. Kaufeld and D. L. Russell, "Distributed UNIX System", in Workshop on Fundamental Issues in Distributed Computing, ACM SIGOPS and SIGPLAN (15-17 Dec. 1980). It seems contemporaneous with the Luderer/Marshall/Chu work on S/F-Unix. I could not find this paper so far. Here, too, any recollections about this distributed Unix among the TUHS readership?





^ permalink raw reply	[flat|nested] 6+ messages in thread
* [TUHS] PCS Munix kernel source
@ 2022-08-10 10:29 Holger Veit
  2022-08-10 16:12 ` [TUHS] " Warner Losh
  2022-08-10 17:15 ` emanuel stiebler
  0 siblings, 2 replies; 6+ messages in thread
From: Holger Veit @ 2022-08-10 10:29 UTC (permalink / raw)
  To: tuhs

Hi all,

I have uploaded the kernel source of 32 bit PCS MUNIX 1.2 to
https://github.com/hveit01/pcs-munix.

MUNIX was an AT&T SVR3.x implementation for the German PCS Cadmus
workstations in the 80's. They were
based on Motorola 68020 CPUs on a DEC QBUS.

The interesting feature of this kernel is the integration of the
Newcastle Connection network
(https://en.wikipedia.org/wiki/Newcastle_Connection) which I found,
beyond a tech report https://assets.cs.ncl.ac.uk/TRs/175.pdf, no further
references for.

The kernel source was reverse engineered and verified (see readme in the
distribution who this was done) from the binary tape at
ftp.informatik.uni-stuttgart.de/pub/cm/pcs/sw/IS0371P.tap (Computer
museum of the University of Stuttgart), and to my knowledge reveals the
Newcastle connection code for the first time in a commercial Unix.

The Github package includes the kernel sources, i/O drivers, several
standard libraries, the disassembled boot ROM and for reference, two of
my tools, a partial syscall emulator pcsrun which allowed me to run the
C compiler and other native binaries outside the PCS hardware/Unix
environment, and a disassembler pcsdis for the specific COFF dialect
(note that IDA will produce garbage without a specific patch).

Regards
Holger


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-13 20:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-11  6:04 [TUHS] PCS Munix kernel source Paul Ruizendaal via TUHS
2022-08-11  9:01 ` [TUHS] " Holger Veit
2022-08-13 20:40   ` Paul Ruizendaal
2022-08-11 13:32 ` Nelson H. F. Beebe
  -- strict thread matches above, loose matches on Subject: below --
2022-08-10 10:29 [TUHS] " Holger Veit
2022-08-10 16:12 ` [TUHS] " Warner Losh
2022-08-10 17:15 ` emanuel stiebler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).