Just sharing this document list I spotted on an eBay listing as I was perusing things: https://i.ebayimg.com/images/g/HIcAAOSwnoZjoSNA/s-l1600.jpg
The manual in the auction[1] is interesting in that it features the Bell Logo scratched off, presumably as this was sold/shipped right around that magic flip of the switch. I keep seeing variation upon variation of these covers, some 5.0 with the bell, some 5.0 without, some System V with, some System V without. The oddest I've seen recently is actually another active eBay auction[2] as of this typing in which the typical grid-pattern cover is seen but the title is given as "UNIX operating system" rather than just "UNIX system". Anywho, going to describe the document here so the text is in the archive somewhere.
After the above link is a document titled "Section 3 - Available Documentation" with a handwritten note indicating this is a section of DC-001 which is in turn listed as the "3B20S Documentation Catalog".
The contents of the document are (all listed documents are Issue/Version 1):
Table A - 3B20S Processor System Predelivery Documents
3B20S Technical Data Sheets - TDS-01
3B20S Site Preparation Manual - SPM-01
3B20S Documentation Catalog - DC-001
Table B - 3B20S Processor Applications Documents
OAS User's Guide - 302-920
OAS Administrator's Guide - 302-921
OAS Electronic Messaging Reference Card - 302-922
OAS Editor-Formatter Reference Card - 302-923
OAS Document Editing and Formatting Workbook - 302-924
Table C - 3B20S Processor System Basic Documentation
3B20S System Index - 301-901
3B20S System Description - 301-911
UNIX System User's Guide - 301-921
UNIX Operating System Error Message Manual - 301-922
UNIX System User's Manual - 301-925
UNIX System Administrator's Manual - 301-926
UNIX System Administrator's Guide - 301-931
UNIX System Operator's Guide - 301-941
3B20S System Maintenance Guide - 301-951
Looks like there is another page stapled behind that one. I've reached out to the seller to see if they're willing to share the rest info on the pieces of paper.
Looks like the OAS card I happened upon recently has friends, and what I wouldn't give for some of that 3B20 stuff. I think that's going to be one of my next documentation goals, to track down some more 3B20 documents, there seems to actually be a surprising lack of 3B20 documentation that has been scanned.
- Matt G.
[1] - https://www.ebay.com/itm/125672373414?mkcid=16&mkevt=1&mkrid=711-127632-235…
[2] - https://www.ebay.com/itm/385464959716?mkcid=16&mkevt=1&mkrid=711-127632-235…
I have succeeded in building a complete (including the extra apps) working
Vax-780 sim running unix 2.0v2 gdts except
for 2 things.
1) Unable to set up to be able print to the host. The device appears to be
an LP11 but the
Kernel does not have an LP device (c,major,minor) defined. The sim has an
entry for LPT.
2) Any way to network (Ethernet) off the sim to the host? It seems to be
possible the tools
are there, but again is not covered anywhere?
I have gone over all the documents I could find. If someone could point me
to the
appropriate documents that would be great.
Any help would be appreciated,
Ken
--
WWL 📚
After some digging - in the Algol68C compiler we used the names setmp and longjmp for the code
generation routines to implement non local goto. So as you say they were not part of the Algol68
language. Steve
From: Bakul Shah<bakul(a)iitbombay.org>
Subject: [TUHS] Re: GOTO etc
To:srb@acm.org
Perhaps you’re talking about non-local GOTOs in Algol68, where you can jump from a nested procedure to a label in a lexically enclosing procedure. Pascal has this too. C has no nested procedures but its setjmp/longjmp is much more powerful (& dangerous). Though both can be used to the top level of a REPL or to jump to a known place after an error.
> On Mar 12, 2023, at 11:24 AM, Steve<srb(a)unixsh.com> wrote:
>
>  Dennis added setjmp() and longjmp() so the shell could handle errors in a reasonable way.
> There are two places where setjmp was used in the original shell (7th edition) code as I recall. Both at the top level
> in main.c.
>
> The idea came from Algol68 but I do not know where it was originally invented. longjmp() was used in the "exitsh"
> function that got called on the exit command, default trap routine and a fault with no trap set.
>
> It was also used when executing a subshell to avoid a fork and exec. In this case the setjmp() was at top level
> in the initial sh setup.
>
> Hope this makes sense. But these were two different uses. One for error recovery and one to reset the execution environment
> back to initial state.
>
> Steve
I must admit I don't see much point in this conversation, even as
humour, since the humour is easily turned mean-spirited or self-
aggrandizing.
What difference does it make if Ken runs MacOS systems or Raspberry
Pis or just spends his time teaching flying instructors? When he
started out in computing, writing your own everything was pretty
much the only way to get things that worked. Now it's a huge amount
of work, because modern storage controllers and network devices and
even CPUs and memory subsystems are so much more complicated, and to
talk to anything else requires supporting complicated network protocols
and interpreting multiple encodings and languages and data formats
and even running stupid little flashy programs. (How much more
complicated is a web browser these days than an entire operating
system used to be? How much simpler could you make it and still
render most of what's on the web these days? And how much work
would all that be, and why bother?)
When I started out in computing, making a computer run reliably and
well still required understanding the hardware and OS software in
some detail, and I found that interesting and pursued that as a
vocation. I spent much of the 1980s doing that for pay, including
six wonderful years in (not-so-wonderful to me) New Jersey working
with smart people like Ken.
Nowadays I get paid for helping to keep a large computing environment
running. The point is not to show off my OS-design chops, but to
make things work for a particular user community that needs particular
things. Things that are far more complicated than I'm up to designing
and writing and supporting, and most of them involving areas of
computing in which I don't have a lot of interest. There are plenty
of problems that interest me in making it all work, and in designing
system setups and writing tools to help us make it all work better.
I don't see this as a step down from bare-metal OS work, much as I
used to enjoy that, and much as I might enjoy it now should I get back
into it (though it's also possible that modern hardware is such an
undisciplined mess that I'd just find it frustrating).
I used to keep hacking on the old New Jersey Unix system as a hobby.
After a while it wasn't interesting enough compared to other things
I could do with my time, but I kept it going for a while because I'd
made some of my home computing infrastructure depend on it. Eventually
I mended that. Maybe I'll get back to it some day, maybe I won't.
I still build my own tools from time to time, both for paid work and
for personal use. Sometimes I do that because I dislike the existing
tools I can find for the same job, sometimes just because it's a chance
to learn more about some network protocol or file format or whatnot.
But it's no more a sign of virtue to roll my own stuff than it is to
insist on using only stuff someone else wrote (or that was supplied
by a particular company or by someone who subscribes to a particular
political philosophy or whatnot). In the end it is, or ought to be,
just about getting the damn job done reasonably well within the
current constraints.
Getting the job done within current constraints was, after all,
pretty much what Unix was originally made for.
Norman Wilson
Toronto ON
Neither proud nor sad no longer to be using a
MicroVAX running 10/e Unix as a home firewall
Marc Donner:
Having taken my daily troll pill, I am forced to ask, where is
'Reply-to-the-right-folks'?
=====
Don't they all use VMS, to own the Eunuchs?
Norman Wilson
Toronto ON
> From: KenUnix
> This is what is in conf.c:
> ...
> Does this help in determining major/minor number for lp?
Do you see a line in 'cdevsw' for the lpt? (I can't see one.)
While we're talking about SysV, maybe it's time to add the VAX version (and
maybe the 3B2 one too) to the Unix Tree at TUHS, to make it easy to look at? I
know there was at one point a good reson to be hesitant aout so doing, but the
VAX version is now obsolete, and it is available through archive.org:
https://archive.org/details/ATTUNIXSystemVRelease4Version2
just not in an easy to peruse form.
Noel
>Date: Wed, 15 Mar 2023 16:56:45 -0700
>From:
>Subject: [TUHS] Re: OSF/1.0 Sources
>To: "Tautological Eunuch Horticultural Scythians" <tuhs(a)tuhs.org
>Message-ID: <b3aa03ba-6c51-4f81-9ff4-21f72a9fe94d(a)app.fastmail.com>
>Content-Type: text/plain;charset=utf-8
>
>On Wed, Mar 15, 2023, at 14:03, Warren Toomey via TUHS wrote:
>> I'm still worried about my legal butt :-(
>
>Speaking of, there’s also the OSF/1.0 source from the same uploader:
> https://archive.org/details/SapphireDensetsu_gmail_OSF1
>--
>~j
Being somewhat of a collector I also have a Osf1-2.0-Src Tar.zip :-)
take care,
uncle rubl
--
The more I learn the better I understand I know nothing.
Thinking a bit more about terminal multiplexing was a major use case for early X, I recalled using Linux virtual consoles in the late 90’s for this purpose.
According to Wikipedia, virtual consoles originated with Xenix and before that with concurrent CP/M.
Perusing the documentation of those on Bitsavers, I can see that virtual consoles have a prominent mention in the manual for concurrent CP/M (1983), but not those of its forerunners MP/M II and MP/M (1979). I cannot find a mention of virtual consoles in Xenix documentation as late as 1988.
No such thing as a virtual (as distinct from pseudo) tty on 16-bit Unix or early 32-bit, as far as I know; one could argue it does not make much sense with physical terminals. Wikipedia says no such thing existed on SunOS either.
I think virtual consoles where present in Linux from a very early point.
So, as far as I can tell virtual consoles were invented for concurrent CP/M around 1983, made their way to Xenix in the late 80’s and became part of Linux in the early 90’s.
Have I missed other prior art?