The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Holger Veit <hveit01@web.de>
To: Paul Ruizendaal <pnr@planet.nl>,
	The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: [TUHS] Re: PCS Munix kernel source
Date: Thu, 11 Aug 2022 11:01:16 +0200	[thread overview]
Message-ID: <fa94fc3d-1046-8b8a-b679-71c7f7bf4db3@web.de> (raw)
In-Reply-To: <CF415BC3-1959-415A-9715-99AC7EB68E2E@planet.nl>


Am 11.08.2022 um 08:04 schrieb Paul Ruizendaal:
> 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).
It is a hybrid system. I found files and similarities in R1, R2 as well
as R3 - the C compiler (in my queue) for instance is likely derived (and
heavily modified) from a R1 origin, but in this version itself linked
with a C library where parts are newer, namely from a later released
version (in the update 3-3.1 in tape IS0463P) which I'll add in the
future. I am sure that the kernel libs will then reveal the missing
streams stuff.

I think it was a rolling release which also still contains parts of the
older 16 bit MUNIX for a 68010 with Motorolas FFP lib - the kernel still
contains an obsolete module named m68341 which emulates an incompatible
floating point lib. The 32 bit system here demands a 68020/68881
combination. There are also several QBUS I/O drivers which seem to stem
from the 16 bit systems which likely do no longer access real existing
hardware because the newer systems used a communication controller board
named ICC with an own 68010 processor and a highly stripped down
tailored UNIX (?) on it. This is also on my to-do list.

@readers of TUHS: can anyone say something about m68341? There are
Motorola FFP libs elsewhere on the net, but this appears to be a
complete copro emulation which intercepts the line-F interrupt which I
could not locate so far. Internally, it is pretty much optimized - I
doubt it was cooked at PCS itself, so it is likely a Motorola product.
And no, it has absolutely nothing to do with the embedded controller
MC68341.

Currently I am dissecting the also rather unique a68 assembler which is
a modified Trix/Mical assembler; after that, I'll look into the IS0463P
update.
>> 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.
Maybe the original NC did so, but here there are numerous additions to
the kernel, including a new syscall uipacket() which is the gateway into
the MUNET/NC implementation. Stuff is in /usr/sys/munet, the low level
networking is in uipacket.c and uiswtch.c which will process RPC
open/close/read/write/exec etc. calls, as well support master and
diskless nodes). The OS code is full of "if (master) {...} else {...}'
code which then redirects detected access to remote paths to the network
handler.

>
> 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?
Good to mention this. I am interested in such stuff as well.

Regards
Holger

  reply	other threads:[~2022-08-11  9:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11  6:04 [TUHS] " Paul Ruizendaal via TUHS
2022-08-11  9:01 ` Holger Veit [this message]
2022-08-13 20:40   ` [TUHS] " 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fa94fc3d-1046-8b8a-b679-71c7f7bf4db3@web.de \
    --to=hveit01@web.de \
    --cc=pnr@planet.nl \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).