I figure it won't cost me much more than $5 to ship domestically, which
I'll pay for. International is more hassle so let's discuss.
BSTJJuly-August 1978 ("the" issue)
Elements of Programming Style 2nd Ed, Kernighan and Plauger
The UNIX Programming Environment, Kernighan and Pike
The C Programming Language 2nd Ed, Kernighan and Ritchie (includes printout
of errata posted by dmr(a)alice.JUCP "5 Jun 89")
Good day everyone. I'm taking a bit of a break from my documentation stuff and veering back towards some embedded systems work and have the burning question on my mind this morning: Was there any coordination between different groups engaged in porting efforts at Bell regarding machine layer implementations?
In other words, was there any sort of common design of "get a stack pointer, do <XYZ> on the protection hardware, move the binary to address <ABC>, clear bss, etc." that was followed as lore when working up new machine bootstraps, or was that sort of work a bit more siloed? For instance, when working on the VAX port, was the crew more likely stepping through mch replicating things based on what the PDP-11 was doing, was the startup more derived from DEC literature, or was there no single guiding principle and each machine came up, at that level at least, in a relative vacuum, with only the machine interface to UNIX being the guiding principle?
Where I'm trying to put this sort of knowledge into use is I'm starting to spec out a kernel bootstrap for the RPi Pico and Pine64 Ox64 boards (ARM32 and RISCV64 respectively) that is not only sufficient to start a V7-ish kernel on each, but that are ultimately based on the same design, varying literally only where the hardware strictly necessitates it, but similar enough that reading the two assembly files side by side yields essentially the exact same discrete operations. What I don't know is if I'm barking up the wrong tree and it was already settled in the 70s that machines are sufficiently different enough that you can't really just set forth one abstract "machine startup" design that actually includes all those CPU-level concerns such as protection, stack config, context switching, etc. I know even today peering into sources of stuff like Linux and seL4, the "ml" for each seems to have been built by a different person/group rather than someone setting out with a CPU bootstrap design and implementing the same on each chip.
So boiled down to a one liner: Was there a guiding document/design/memoranda for the mch/ml components of UNIX in Bell, or was each one designed more "on-the-fly" as the particulars of the hardware were sorted out?
- Matt G.
Greetings,
What's the canonical source for patches to 2.9BSD and 2.11BSD?
I see we have 2.11BSD patch 469 dated last month in the archive. Where does
it come from? Has anybody climbed the hill to import all the patches into a
git repo? I've found some mirrors, but moe.2bsd.org has been down for me
for ages... How does Warren keep things up to date?
I also have a (maybe faulty) memory of a similar series of patches to
2.9BSD because it was the last BSD to support non-split I&D space machines.
yet a quick google search turns up nothing other than a set of patches
dated August 1985 (also in our archive) and some changes for variants of
hardware (pro, mscp). Is that it?
Warner
Hello,
I received word from someone who went to Case Wester Reserve
Univsersity, and is willing to send early 1970s ephemera to someone
interested in going through it. The description is:
"I've go stuff from my course work done on our Univac 1108/ChiOS system,
program listing, cpu code cards, etc."
Any takers?
Best regards,
Lars Brinkhoff
Hello all,
I am working on restoring the 2.9BSD PUCC distribution as provided on the
CSRG CD/DVD set, hopefully as closely as possible to the original system.
I am at a point where I have a setup that boots 95% of the way to multiuser
but I have encountered some difficulties with the final few steps. I would
appreciate it if anyone who is familiar with the login procedure could
contact me off-list.
-Henry
Once again, I must dredge up this post from 1991….
From spaf(a)cs.purdue.EDU Thu Apr 4 23:11:22 1991
Path: ai-lab!mintaka!mit-eddie!wuarchive!usc!apple!amdahl!walldrug!moscvax!perdue!spaf
From:
spaf(a)cs.purdue.EDU (Gene Spafford)
Newsgroups: news.announce.important,news.admin
Subject: Warning: April Fools Time again (forged messages on the loose!)
Message-ID: <
4-1-1991(a)medusa.cs.purdue.edu>
Date: 1 Apr 91 00:00:00 GMT
Expires: 1 May 91 00:00:00 GMT
Followup-To: news.admin
Organization: Dept. of Computer Sciences, Purdue Univ.
Lines: 25
Approved:
spaf(a)cs.purdue.EDU
Xref: ai-lab news.announce.important:19 news.admin:8235
Warning: April 1 is rapidly approaching, and with it comes a USENET
tradition. On April Fools day comes a series of forged, tongue-in-cheek
messages, either from non-existent sites or using the name of a Well Known
USENET person. In general, these messages are harmless and meant as a joke,
and people who respond to these messages without thinking, either by flaming
or otherwise responding, generally end up looking rather silly when the
forgery is exposed.
So, for the few weeks, if you see a message that seems completely out
of line or is otherwise unusual, think twice before posting a followup
or responding to it; it's very likely a forgery.
There are a few ways of checking to see if a message is a forgery. These
aren't foolproof, but since most forgery posters want people to figure it
out, they will allow you to track down the vast majority of forgeries:
o Russian computers. For historic reasons most forged messages have
as part of their Path: a non-existent (we think!) russian
computer, either kremvax or moscvax. Other possibilities are
nsacyber or wobegon. Please note, however, that walldrug is a real
site and isn't a forgery.
o Posted dates. Almost invariably, the date of the posting is forged
to be April 1.
o Funky Message-ID. Subtle hints are often lodged into the
Message-Id, as that field is more or less an unparsed text string
and can contain random information. Common values include pi,
the phone number of the red phone in the white house, and the
name of the forger's parrot.
o subtle mispellings. Look for subtle misspellings of the host names
in the Path: field when a message is forged in the name of a Big
Name USENET person. This is done so that the person being forged
actually gets a chance to see the message and wonder when he
actually posted it.
Forged messages, of course, are not to be condoned. But they happen, and
it's important for people on the net not to over-react. They happen at this
time every year, and the forger generally gets their kick from watching the
novice users take the posting seriously and try to flame their tails off. If
we can keep a level head and not react to these postings, they'll taper off
rather quickly and we can return to the normal state of affairs: chaos.
Thanks for your support.
Gene Spafford, Net.God (and probably tired of seeing this message)
Good evening or whatever time of day you find yourself in. I've just finished the first tag in a git repository I've put together to track UNIX developments as documented in the manual. In preparation for this, I also created restorations of the V1 and V2 manuals in roff based on the available V3 sources. The repositories for all this can be found here:
https://gitlab.com/segaloco/mandiffhttps://gitlab.com/segaloco/v1manhttps://gitlab.com/segaloco/v2man
There are most certainly typos and minor discrepancies still to be found between sources and the PDF scans, but given all the cross-referencing involved I believe the manual restorations to be largely complete.
As for the mandiff repository, the commit log (which might shake up in format...) should capture relatively complete transactions of either a particular feature or comparable additions, deletions, or modifications. That said, there may be little fixes in later commits of edits that really should've been in other ones, and the toc and index accuracy at any given commit is dubious at best. However, the content of the pages themselves should be pretty well broken up in to noteworthy transactions.
If you find a problem or have a correction, feel free to send it my way or even better, open a pull request with an explanation for the change. This repository will accrete more UNIX releases as time goes on, with a first goal being getting to V6, after which the fragmentary pathways will be a little harder to reconcile to a single informative trunk. I might start branches at that point.
By the way, in this process I found that the V2 manual scanned by Dennis Ritchie [1] contains references to nroff(I) in the TOC and permuted index, but the page may not have been in his copy. Given this, just to not hang up on it, I simply dropped in the V3 page with a note about this in the BUGS section.
1 - https://www.tuhs.org/Archive/Distributions/Research/Dennis_v2/v2man.pdf
- Matt G.
Good afternoon, folks. I was wondering if anyone is aware of/possesses a scanned copy (or paper copy ripe for scanning) of the research V4 UNIX Programmer's Manual. I've found a few rendered PDFs from the available manpage sources, but I am looking to do some comparison of original typesetting re: my restorations of various other sets of manpages. I have scans of all the other research versions I believe, just not V4. Thanks in advance!
- Matt G.
Hi,
Has anyone been successful in communicating using cu or some
other method to transfer files between two SIMS running Unix V ?
If so I would appreciate some help.
Thanks,
Ken
--
WWL 📚
Good morning all, just emailing to notify that I'm once again in a position to work on scanning documents and the like, so want to throw out the offer of performing any scanning/archival gratis for materials relevant to TUHS and the broader UNIX picture. Included in this is I'll happily pay the shipping to and fro.
My setup is very simple, consisting of a CanoScan LiDE 100 over USB into my Raspberry Pi running SANE and ImageMagick. The former handles the scans obviously and then the results are reduced by ImageMagick into a PDF, cropping overscan in the process. I tend to favor 300dpi as a compromise between quality and size, as I've found that the archive.org OCR can do a good job with this. That said, if you particularly want a given DPI or scan quality, that is adjustable within the capabilities of the scanner. I'd probably still reduce the size for archive.org but could initially sample at a higher rate and send you the resulting PDFs on a CD-ROM/USB stick. Similarly, if for some reason the material can be scanned but can't be archived anywhere else (legal reasons, etc.) I can provide physical media in the return package, with the understanding that I absolutely would keep this stuff in a time capsule for some later date. If you only want scanning, no archival, sorry, that I'm not willing to do for free.
Anywho, short of anything new coming in, this is what I've got on my current plate:
- UNIX Release 4.0 Text Editing and Phototypesetting Starter Package
- UNIX Release 4.1 3B20 User's Manual
- UNIX Release 5.0 User's Manual BTL Edition
- UNIX System V Support Tools Guide
- UNIX System V Document Processing Guide
- UNIX System V Release 2.0 User's Manual BTL Edition
Of these, the first two are already archived in some fashion, these physical books just haven't been scanned. For the two BTL manuals, these are the extant SysV and SVR2 manuals with extra pages to represent things commonly found on BTL computers of the time (WWB, Basic-16 SGS, site-specific bits to PY, HO, IH, CB, and a few others.) Finally, the other two SysV docs are just successors to the Documents for UNIX papers, slightly reformatted and updated for SysV. Also I eventually want to *ROFF-ize anything that obviously came from typesetter sources, so like I did with the 4.1 manual, some of these may get the *ROFF treatment first, with scanning to occur on a day with nastier weather. All that to say, anything I receive obviously trumps this list in priority. Thanks all!
- Matt G.
Fortran question for Unix System-5 r3.
When executing fortran programs requiring input the screen will
show a blank screen. After entering input anyway the program
completes under Unix System V *r3*.
When the same program is compiled under Unix System V *r1* it
works as expected.
Sounds like on Unix System V *r3* the output buffer is not being flushed.
I tried re-compiling F77. No help.
Fortran code follows:
PROGRAM EASTER
INTEGER YEAR,METCYC,CENTRY,ERROR1,ERROR2,DAY
INTEGER EPACT,LUNA
C A PROGRAM TO CALCULATE THE DATE OF EASTER
PRINT '(A)',' INPUT THE YEAR FOR WHICH EASTER'
PRINT '(A)',' IS TO BE CALCULATED'
PRINT '(A)',' ENTER THE WHOLE YEAR, E.G. 1978 '
READ '(A)',YEAR
C CALCULATING THE YEAR IN THE 19 YEAR METONIC CYCLE-METCYC
METCYC = MOD(YEAR,19)+1
IF(YEAR.LE.1582)THEN
DAY = (5*YEAR)/4
EPACT = MOD(11*METCYC-4,30)+1
ELSE
C CALCULATING THE CENTURY-CENTRY
CENTRY = (YEAR/100)+1
C ACCOUNTING FOR ARITHMETIC INACCURACIES
C IGNORES LEAP YEARS ETC.
ERROR1 = (3*CENTRY/4)-12
ERROR2 = ((8*CENTRY+5)/25)-5
C LOCATING SUNDAY
DAY = (5*YEAR/4)-ERROR1-10
C LOCATING THE EPACT(FULL MOON)
EPACT = MOD(11*METCYC+20+ERROR2-ERROR1,30)
IF(EPACT.LT.0)EPACT=30+EPACT
IF((EPACT.EQ.25.AND.METCYC.GT.11).OR.EPACT.EQ.24)THEN
EPACT=EPACT+1
ENDIF
ENDIF
C FINDING THE FULL MOON
LUNA=44-EPACT
IF(LUNA.LT.21)THEN
LUNA=LUNA+30
ENDIF
C LOCATING EASTER SUNDAY
LUNA=LUNA+7-(MOD(DAY+LUNA,7))
C LOCATING THE CORRECT MONTH
IF(LUNA.GT.31)THEN
LUNA = LUNA - 31
PRINT '(A)',' FOR THE YEAR ',YEAR
PRINT '(A)',' EASTER FALLS ON APRIL ',LUNA
ELSE
PRINT '(A)',' FOR THE YEAR ',YEAR
PRINT '(A)',' EASTER FALLS ON MARCH ',LUNA
ENDIF
END
Any help would be appreciated,
Ken
--
WWL 📚
Matt G. suggested that I join the COFF <COFF(a)tuhs.org> mailing list.
He thought it might be a better site to post my questions
operational and technical ..
Thank,
Ken
--
WWL 📚
--
End of line
JOB TERMINATED
Hi,
Question. Is anyone aware of a problem with F77 on 3B2/400 running
System V.3 ? When trying to validate a simple program it works as
expected on Linux. See below. But, on Unix V.3 it does not. You do
not get the question until AFTER you enter a number.
Linux:
PROGRAM HELLO
INTEGER AGE
PRINT '(A)', 'Hello, world. Enter your age :'
READ '(A)', AGE
PRINT '(A)', 'You entered :'
print '(A)', AGE
STOP
END
ken@ken-Inspiron-5755:~/fortran$ ./a.out
Hello, world. Enter your age :
73
You entered :
73
Now under Unix
$ ./a.out
73
Hello, world. Enter your age :
You entered :
73
Thanks,
Ken
--
WWL 📚
> From: KenUnix
> How can you make "make" using make.mk without make?
You could always try reading make.mk and issuing the appropriate commands
manually. Just a thought.
Noel
I have a question. I am running UNIX System V Release 3.2 AT&T 3B2/400 on a
3B2/400 SIM.
I went to use "make" however it is not there only the source:
bu
defs
doname.c
dosys.c
dyndep.c
files.c
gram.y
main.c
make.mk
misc.c
perror.c
prtmem.c
rules.c
How can you make "make" using make.mk without make?
Any help appreciated,
Ken
--
WWL 📚
Good evening or whichever time of day you find yourself in. I was reading up on Japanese computer history when I got to thinking specifically on where UNIX plays in with it all, which then lead to some further curiosity with non-English UNIX in general.
In the midst of documentation searches/study, I've spotted French and what I believe to be Japanese documentation bearing Bell/AT&T logos. I've also seen a few things pop up in German although they looked to be university resources, not something from the Bell System. In any case, is there any clear historical record on efforts within the USG/USL line, or research for that matter, towards the end of foreign language support or perhaps even single polyglot installations? Would BSD have been more poised for this sort of thing being more widely utilized in the academic scene?
- Matt G.
Hello,
30 years ago today on March 21st, 1993 at around
09:45:37 UTC, NetBSD was born!
I believe this makes NetBSD the oldest,
still-maintained and actively developed, free and open
source descendant of the Berkeley Software
Distribution (BSD), a true genetic Unix (albeit not
small-caps UNIX nor UNIX(tm)).
If you want to see what the source tree looked like
back then:
cvs -d anoncvs@anoncvs.netbsd.org:/cvsroot co -D "1993-03-21 09:45:37 GMT" src
Or browse the tree at that time:
https://www.netbsd.org/~jschauma/src-1993-03-21/
Unlike me, many on this list were around at the time
and place. Would love to hear some origin stories...
-Jan
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 📚