Thanks to Unix document recovery work by some TUHS list members that
has been recently added to the archives at minnie.tuhs.org, a large
Bell Labs bibliography about Unix has been uncovered and is now
available online. I have spent time this week converting the 59-page
PDF file to a somewhat searchable OCR'ed PDF, and from a text
conversion of that file, to relatively clean BibTeX entries in
https://www.math.utah.edu/pub/tex/bib/unix.bib
[change .bib to .html for similar view with hypertext links].
The bibliography recorded in entry Scheiderman:1980:UB, with a long
remark field, has 457 entries, from the years 1972 to 1980, but due to
splitting into subject-specific sections, there are some duplications:
448 remain after data merger.
Much work remains to be done, including locating electronic copies of
those reports, correcting truncated data, and getting suitable URLs
retrofitted into their BibTeX entries. However, I prefer a
release-early-and-often approach to bibliographic data distribution,
whence this announcement to the TUHS list and others.
For searching convenience, I have created an SQLite3 portable
database file at
https://www.math.utah.edu/pub/tex/bib/unix.db
There is a tutorial on SQL searching of BibTeX data in a paper and
talk slides at
BibTeX meets relational databases
https://www.math.utah.edu/~beebe/talks/#2009
and further documentation about BibTeX itself at
BibTeX Information and Tutorial
https://www.math.utah.edu/pub/bibnet/bibtex-info.html
Below are some samples of searches to find the earliest mention of
selected topics in the Bell Labs technical memoranda. Even if you have
never used SQL queries, they should be fairly understandable, and the
new entries all carry identical bibtimestamp values to make their
identification and selection easy.
% sqlite3 unix.db
.headers on
.mode table
-- Find the earliest entries
select label, year, author from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
order by year, label
limit 10;
+--------------------+------+-------------------------------------+
| label | year | author |
+--------------------+------+-------------------------------------+
| McIlroy:1972:MTC | 1972 | M. Douglas McIlroy |
| Ritchie:1972:UAR | 1972 | Dennis M. Ritchie |
| McIlroy:1973:SES | 1973 | M. Douglas McIlroy |
| Olsson:1973:GCC | 1973 | S. B. Olsson |
| Remde:1973:CCS | 1973 | J. R. Remde |
| Kernighan:1974:PCT | 1974 | Brian W. Kernighan |
| Lycklama:1974:ILC | 1974 | Heinz Lycklama |
| Morris:1974:CDT | 1974 | Robert Morris and Lorinda L. Cherry |
| Morris:1974:WSH | 1974 | Robert Morris and Ken Thompson |
| Swanson:1974:GFC | 1974 | G. K. Swanson |
+--------------------+------+-------------------------------------+
-- Find earliest mentions of IBM mainframes
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%ibm%')
order by year, label;
------------------+------+--------------------------------------------------------------+
| label | year | title |
+------------------+------+--------------------------------------------------------------+
| Roberts:1975:UIU | 1975 | UNIXLIST --- An IBM / 370 Utility Program to List a UNIX Fil |
| | | e Stored on a 9-Track Magnetic Tape. |
+------------------+------+--------------------------------------------------------------+
| Bach:1979:PAD | 1979 | Porting the ADAPT Data Translation System to the IBM 370 |
+------------------+------+--------------------------------------------------------------+
| Grampp:1979:SCI | 1979 | Support for C on IBM Computers |
+------------------+------+--------------------------------------------------------------+
| Huber:1979:ULD | 1979 | UNIX Line Discipline for IBM 2740-1 Protocol |
+------------------+------+--------------------------------------------------------------+
-- Find earliest mention of porting work to Intel 808x family
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and ((title like '%intel %') or (title like '%z80%'))
order by year, label
limit 5;
+--------------------+------+--------------------------------------------------------------+
| label | year | title |
+--------------------+------+--------------------------------------------------------------+
| Molinelli:1977:UAI | 1977 | UNIX Assembler For The Intel 8080 Microprocessor |
+--------------------+------+--------------------------------------------------------------+
| Bradley:1978:EMS | 1978 | Evaluation of Microprocessors Supporting the C Language: LSI |
| | | -11, MAC-8, Z80 |
+--------------------+------+--------------------------------------------------------------+
| Farrell:1978:UGS | 1978 | User's Guide to the SMAL2 Language for the Zilog Z80 Micropr |
| | | ocessor |
+--------------------+------+--------------------------------------------------------------+
| Vogel:1978:ZAR | 1978 | 8080 / Z80 Assembler Reference Manual |
+--------------------+------+--------------------------------------------------------------+
| Blumer:1979:UUI | 1979 | UNIX / 86: UNIX on the Intel 8086 |
+--------------------+------+--------------------------------------------------------------+
-- Find earliest mentions of port to Interdata machines [note the full
-- text search of entry, rather than just of the title]
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (entry like '%interdata%')
order by year, label
limit 5;
+------------------+------+---------------------------------+
| label | year | title |
+------------------+------+---------------------------------+
| Johnson:1977:CLC | 1977 | The C Language Calling Sequence |
+------------------+------+---------------------------------+
-- Find earliest mentions of 36-bit Univac Unix
select label, year, author from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%univac%')
order by year, label;
+----------------+------+---------------------------------+
| label | year | author |
+----------------+------+---------------------------------+
| Lyons:1976:GUR | 1976 | T. G. Lyons |
| Graaf:1979:PPE | 1979 | D. A. De Graaf and Jerome Feder |
+----------------+------+---------------------------------+
-- Find authors of earliest mentions of Programmer's Workbench (PWB)
select label, year, author from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and ((title like '%PWB%') or (title like '%workbench%'))
order by year, label
limit 5;
+------------------+------+-------------------------------+
| label | year | author |
+------------------+------+-------------------------------+
| Dolotta:1975:PWP | 1975 | T. A. Dolotta and others |
| Dolotta:1976:PWP | 1976 | T. A. Dolotta and others |
| Lyons:1976:GUR | 1976 | T. G. Lyons |
| Smith:1976:NTF | 1976 | D. W. Smith |
| Dolotta:1977:PUV | 1977 | T. A. Dolotta and D. W. Smith |
+------------------+------+-------------------------------+
-- Find titles of earliest mentions of Programmer's Workbench (PWB)
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and ((title like '%PWB%') or (title like '%workbench%'))
order by year, label
limit 5;
+------------------+------+--------------------------------------------------------------+
| label | year | title |
+------------------+------+--------------------------------------------------------------+
| Dolotta:1975:PWP | 1975 | Programmer's Workbench Papers From The Second International |
| | | Conference On Software Engineering (G.4) |
+------------------+------+--------------------------------------------------------------+
| Dolotta:1976:PWP | 1976 | Programmer's Workbench Papers From The Second International |
| | | Conference on Software Engineering. (G.4) |
+------------------+------+--------------------------------------------------------------+
| Lyons:1976:GUR | 1976 | Guide to UNIVAC Remote Job Entry for Programmer's Workbench |
| | | Users |
+------------------+------+--------------------------------------------------------------+
| Smith:1976:NTF | 1976 | NROFF / TROFF Formatting Codes For Departmental Organization |
| | | Directories On PWB / UNIX |
+------------------+------+--------------------------------------------------------------+
| Dolotta:1977:PUV | 1977 | PWB / UNIX View Graph and Slide Macros (T.9) |
+------------------+------+--------------------------------------------------------------+
-- Find earliest mentions of nroff and troff
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%roff%')
order by year, label
limit 5;
+---------------------+------+--------------------------------------------------------------+
| label | year | title |
+---------------------+------+--------------------------------------------------------------+
| Smith:1976:NTF | 1976 | NROFF / TROFF Formatting Codes For Departmental Organization |
| | | Directories On PWB / UNIX |
+---------------------+------+--------------------------------------------------------------+
| Cummingham:1977:NPG | 1977 | NROFF For Producing Generic Program Documentation |
+---------------------+------+--------------------------------------------------------------+
| Kernighan:1978:TT | 1978 | A TROFF Tutorial |
+---------------------+------+--------------------------------------------------------------+
| Lesk:1978:TDU | 1978 | Typing Documents on the UNIX System: Using the tt -ms Macros |
| | | with Troff and Nroff |
+---------------------+------+--------------------------------------------------------------+
| Ossanna:1979:NTU | 1979 | NROFF / TROFF User's Manual |
+---------------------+------+--------------------------------------------------------------+
-- Find earliest mentions of typesetting
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%typeset%')
order by year, label
limit 5;
+--------------------+------+-------------------------------------------------------+
| label | year | title |
+--------------------+------+-------------------------------------------------------+
| Lesk:1976:CTTa | 1976 | Computer Typesetting of Technical Journals on UNIX |
| Edelson:1977:TAA | 1977 | Typesetting ACS and APS Meeting Abstracts --- Issue 2 |
| Vogel:1977:EPV | 1977 | Easy Phototypeset View Graphs on UNIX |
| Kernighan:1978:TMU | 1978 | Typesetting Mathematics --- User's Guide |
| Kernighan:1979:STM | 1979 | A System for Typesetting Mathematics |
+--------------------+------+-------------------------------------------------------+
As always, comments on, corrections for, and addenda to, unix.bib are
most welcome: just send me e-mail.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
After talking with the folks I bought the recent documents from, they let me know they are also selling a piece of hardware: https://www.ebay.com/itm/125714380860
After the link is an auction for an Instrumentation Laboratory Pixel 100/AP. A small booklet included with the many documents I received indicates as of 1982 the Pixel 100/AP ran a System III derivative. The booklet goes on to present a summary of user commands and options. Despite the System III basis, included among these are the C shell and ex/vi.
I have no room for hardware or honestly at that price point it'd be worth the preservation effort. Hopefully it finds a good home, it includes an almost complete documentation set save for the small booklet I've got (which could be separate promo material for all I know)
In any case, there were a few letters amongst the documents suggesting the original owner was involved in the production of this system, particularly in the area of OS details. If I find any noteworthy information I'll pass it along.
- Matt G.
P.S. If anyone knows of a preservation effort accepting new machines I can pass this along.
Hello, I've just today received another box from the person I got that set of UNIX manual binders from and hoo boy there's some cool stuff in here. It'll probably be a bit before I scan it all, but among the many bits is a folder bearing "Software by the Bell System" on the front cover with a photo of some tape reels lying around. The back is a simple black 70's Bell system logo. Flipping to the interior, the left panel of the folder bears facsimile AT&T letterhead with a "letter" from Otis L. Wilson, Technology Licensing Manager, denoting what promotional materials are enclosed. Among the various terms of the licenses mentioned is:
'all software comes "as is" -- with no maintenance agreements or technical support'
Between this and the Bell logos all over this stuff, I presume it is prior to 1982.
As for the contents themselves, there are pages for V6, V7, Mini-UNIX, PWB, 32V, and System III, the last of which is a photocopy whereas all the others are on some nice glossy cardstock, so I presume this was hot out the door on the heels of System III as a commercial release. Aside from pages describing each of these UNIX versions, there is a separate page describing "The Phototypesetter Package", in other words, pre-DWB distribution of TROFF and friends. Aside from the UNIX stuff, there are also various utilities amongst IBM 360/370 and Honeywell 600/6000 systems and some various scientific and mathematical systems. Also included is "Summary of UNIX System III" which looks to be a bit of an amalgamation of info from some of the "Documents for UNIX 3.0" set distributed with System III. Unfortunately, being for external release, the document is very of the mindset of "here's what changes from V7/32V to System III" rather than that sweet sweet "here's what changes from PWB 2.0 to 3.0" that I hope to find (or create) sometime. Anywho, finally amongst the promo material was an (undated) letter from M.B. Wicker (Technology Licensing, AT&T) to an unlisted recipient, obviously just copy they sent to everyone, essentially communicating the terms of UNIX System III in more detail. Between all of these materials, the following are UNIX-related prices I could find:
UNIX Sixth Edition
- Initial CPU - $20,000
- Additional CPUs - $6,700
- UNIX Programmer's Manual - $30
- Documents for Use with UNIX - $30
- System III upgrade - $26,000
- System III add CPU - $10,300
PWB/UNIX
- Initial CPU - $30,000
- Additional CPUs - $10,000
- PWB/UNIX User's Manual - $40
- Documents for PWB/UNIX - $40
- System III upgrade - $16,000
- System III add CPU - $7,000
Mini-UNIX
- Initial CPU - $12,000
- Additional CPUs - $4,000
- UNIX Programmer's Manual - $30
- Doucments for Use with Mini-UNIX - $30
UNIX/V7
- Initial CPU - $28,000
- Additional CPUs - $9,400
- UNIX Programmer's Manual, Vol. 1 - $40
- UNIX Programmer's Manual, Vols. 2A and 2B - $60
- System III upgrade - $18,000
- System III add CPU - $7,600
UNIX/32V
- Initial CPU - $40,000
- Additional CPUs - $15,000
- UNIX/32V Programmer's Manual - $40
- UNIX/32V Programmer's Manual, Vols. 2A and 2B - $60
- System III upgrade - $6,000
- System III add CPU - $2,000
UNIX System III
- Initial CPU - $43,000
- Additional CPUs - $16,000
- UNIX User's Manual - $40
- Programmer's Manual for UNIX System III, Volume 2A and 2B - $40 each
- The separate page detailing System III further goes on to break down that a non-refundable payment of $25,000 to sublicense object code
Phototypesetter (Version 7)
- Initial CPU - $3,300
- Additional CPUs - $1,100
- Documents for Use with Phototypesetter - Version Seven - $20
Additionally there are options to upgrade a V6&V7 supporting license to System III for $14,000 and add additional CPUs to those terms for $6,300. The same for a group of V7 and PWB for $4,000 and $3,000 for first CPU and addtional CPUs respectively.
Of note is that all documents listed above could be purchased from the Computing Information Service in Murray Hill *except* those issued for UNIX System III, which instead were to be ordered from the Western Electric Patent Licensing Organization. This reflects the shift to WECo distribution from Bell Labs themselves, as would continue to be the case for 3B20S shipments of 4.1 and the eventual 5.0 and System V releases. In addition to the promotional materials are also "Specimen Copy" blanks of the various licenses involved in at least System III, perhaps other versions (there are blanks where LICENSED SOFTWARE is supposed to be written/typed in).
Finally, in the same folder is also a nice stack of UNIX summary documents spanning different versions. There are summaries for PWB, Mini-UNIX, V7, and 32V. Additionally, there is a document "Proposal to Provide VAX UNIX system support at Berkeley" by Bob Fabry. A quick internet search didn't turn up a PDF of this, so I have to wonder if it's preserved somewhere. If not, it will be. The other document here may prove even more interesting though: "The UNIX Time-Sharing System for UNIVAC 1100 Series Systems - 7th Edition Summary", dated October 19th, 1981. Can't say I've seen this anywhere, just mention of the UNIVAC version in the BSTJ article on UNIX porting experiences. A quick perusal yields a document very similar to the V7 and 32V summaries, but with UNIVAC-isms pointed out.
Anywho, there's more material in this box than just this stuff, but this floated to the top as particularly significant. Among other contents are a "UNIX System and 'C' Language" "Training from the Source" foldout from WECo's Corporate Education group, listing 16 courses available at various training centers. There is a copy (nicely produced) of the 1984 draft /usr/group standard along with a stapled, standard printer document titled "Reviewer's Guide to the PROPOSED /usr/group Standard" dated March 14, 1984. I must say, the publication quality for this being a proposed standard is quite nice, I'd expect a draft to be lucky to have staples if not being just paper-clipped together, but it has a nice printed cover with a logo and all. There is one other thing but I'm making a separate thread for that one, might warrant quite different feedback than this stuff.
- Matt G.
As promised in the other email, I had one other tidbit worth sharing some detail on but that is very different from WECo promo and informational material. What I've got here are two documents pertaining to the "Department of Defence Kernelized Secure Operating System" project as undertaken by Ford's Western Development Laboratories Division.
The documents in question are https://apps.dtic.mil/sti/pdfs/ADA111577.pdf and https://apps.dtic.mil/sti/pdfs/ADA111566.pdf and represent the User's Manuals and Final Report respectively on this KSOS system. These appear to be from the same microfiche as the documents linked based on splotches on the last page's date frame, although the copies I have here have the full frame, the PDFs linked seem to have the last panel cropped to a small square in the middle. Not super significant, but sometimes it's the little details.
Anywho, unfortunately I don't have much to report, I got a bit excited while looking for these at first because I was having a hard time turning up PDFs, thought I had stumbled upon something unseen for some time, but in the gulf between last email and this I found them. Silver lining is one less set of documents to scan, but nothing to really expose that isn't already a click away.
- Matt G.
Rather an aside, but the alt.sysadmin.recovery message referenced
in https://www.tuhs.org/pipermail/tuhs/1999-November/001203.html
chimes interesting chords for me.
If you care only about technical stuff, you should skip to
your next e-mail message now.
On one hand, the doubly-embedded net.unix-wizards message
from Dennis, dated 1984-12-08, containing the original dsw.s:
that was posted a few months after I joined Bell Labs, and
may even have been partly my fault. 1984 was the nominal
15th anniversary of UNIX; as a member of the steering committee
of the recently-formed UNIX* Special Interest Group in US DECUS,
I convinced Dennis to attend the Fall 1984 Symposium, in Anaheim
in early December, as part of a celebration. As another part, I
made copies of the V1-V7 manuals in the UNIX Room and had them
shipped out so people could leaf through the history. I think
Dennis dug out the PDP-7 source-code books as a contribution to
that effort; I am all but certain we brought copies of those too.
Of course I had the copies returned not to the Labs but to my
home address. I still have them, now on a shelf in my home office.
A good friend offered to take care of shipping them back to New
Jersey, of course making her own copies in return.
I also recall that the conference hotel happened to give me
room 127. I offered to swap with Dennis, since he deserved
that number more than I did (the extra digit had already been
prepended before I joined) but he cheerfully declined.
On the other hand--not as historic except to me--the author
of the singly-embedded 1999-11-23 alt.sysadmin.recovery message
is now (and has for some years been) a co-worker and a good
friend.
So this single 1999 TUHS posting touches points near both
the beginning and the end (so far) of my career, and two
different groups of smart people who are fun to work with.
Norman Wilson
Toronto ON
While performing my CB-UNIX 2.3 manual separation, among the many curious things I came across was this manual page: https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/man/man1/dsw.1l.pdf
The dsw(I) pages I've seen in the various UNIX manuals are all for the interactive delete utility, but make brief mention of the history of the command being amusing. I've seen some communication on the matter of the years here, but had never come across a manual page for the former version of dsw.
In the linked page up there is the actual "delete from switches" version of dsw. What I find particularly interesting is that the footer indicates this was printed 8/11/81, but likewise indicates the command is "PDP-7 local".
This raises a couple of questions:
- Did Columbus ever touch PDP-7 UNIX?
- Did dsw(I) as "delete from switches" ever make it to PDP-11 UNIX? Even the V1 manual lists the "delete interactively" utility, not this.
- If neither are true, that begs the question of where this page came from, if there was ever a formalized PDP-7 manual that it would've descended from or not, etc.
Finally, this page plainly spells out the history of the command in the bugs section:
"This command was written in 2 minutes to delete a particular file that managed to get an 0200 bit in its name. It should work by printing the name of each file in a specified directory and requestion a 'y' or 'n' answer. Better, it should be an option of rm(1). The name is mnemonic, but likely to cause trouble in the future."
So the first bug is eventually mitigated by transforming this into the more familiar dsw. I can't say what the latter means, whether it's a concern of "dsw" colliding with some reserved word eventually or is more poking fun at the other folk etymology of "delete s__t work".
In any case, I hadn't seen the etymology explained to this degree in the mailing list references I found while searching around, so figured I'd share this analysis.
- Matt G.
P.S. There is mention here that Dennis Ritchie shared the original dsw manpage at some point https://www.tuhs.org/pipermail/tuhs/1999-November/001203.html however the link in question appears to be dead. In any case, the source for the PDP-7 version is in that email if anyone wants to look at it, although looks to be the same as what is in the archive.
Came across something interesting by chance in the Sixth Edition document set I recently received. I took the binder to the park for a little light reading and found myself perusing the C reference manual. As an aside, I will always appreciate the style of the manual, and I still pick up something new or see something differently every time I flip the pages. The introduction includes these paragraphs:
> Most of the software for the UNIX time-sharing system is written in C, as is the operating system itself. C is also available on the HIS 6070 computer at Murray Hill, using a compiler written by A. Snyder and currently maintained by S. C. Johnson. A compiler for the IBM System/360/370 series is under construction.
>
> This is a manual only for the C language itself as implemented on the PDP-11. Hints are given occasionally in the text of implementation-dependent features, and an appendix summarizes the differences between the Honeywell and DEC implementations; it also contains some known bugs in each.
I didn't think too much of this initially, but then I found myself looking through some other old documents yesterday evening and found myself reading the memorandum version of the manual that Dennis linked to on his Bell Labs usr page: https://www.bell-labs.com/usr/dmr/www/cman74.pdf
In this version, the paragraphs have been altered and merged:
> Most of the software for the UNIX time-sharing system is written in C, as is the operating system itself. C is also available on the HIS 6070 computer at Murray Hill and and on the IBM System/370 at Holmdel. This paper is a manual only for the C language itself as implemented on the PDP-11. However, hints are given occasionally in the text of implementation-dependent features.
So between the two, the print document I have here indicates the compiler for IBM mainframes is still in the works, but by the January 15, 1974 document, it is noted as complete and in use in Holmdel. Additionally, this print document mentions an appendix detailing DEC vs. Honeywell differences and some other bug notes. Unfortunately this appendix doesn't actually appear to be in the binder, so either it wasn't done yet or was tossed by a previous owner some time ago. Luckily, this appendix, despite the reference being dropped, *is* on the cman74 version.
In any case, upon discovering this, I then spot checked the rest of the contents of the two by seeing if any paragraphs had strange offsets from each other or there were noticeable changes in the visual flow. I didn't read each and every line, instead opting to see if paragraphs still had the same number of lines, the same "outline" (i.e. lines seem to start, end, and break pretty much the same), and that pages started and ended the same, and everything pretty much matched. There may be punctuation changes or other minor edits, but I didn't see anything indicating major changes in the language. The only other thing noticeably different is the references list, with Dennis's cman74 copy containing two extra references mine does not: "A User's Guide to the C Language on the IBM 370." by T.G. Peterson and M.E. Lesk, 1974, and "Programming in C- A Tutorial." by B.W. Kernighan, 1974. The latter is listed as unpublished in cman74. In my copy, aside from the two omitted references, the reference to the CACM paper does not have a date, instead just saying "To appear in C. ACM." and "The GCOS C Library" is listed as an unpublished memorandum with a speculative year of 1974.
So all in all, this appears to be a C Reference Manual most likely from late 1973, or however unlikely, one that was very rapidly published in the first few weeks of 1974 before the mentioned changes on January 15th of that year.
Are there any known copies of the manual that predate this which I can compare back with, or in any case is this particular revision known and captured somewhere? If not, it should be trivial to take the sources from V6 and produce a facsimile copy until it bubbles up in my scanning list (much ahead of it, got the ROFF manual scanned the other day, hoping to hit TMG and m6 in the next few.)
There is also an NROFF manual here that I see referenced in the TOC of the V6 document set in the source, but don't actually see in files. It is dated 9/11/74 and is only labeled "NROFF Users' Manual", no TROFF in the title. It is also noted as the "Second Edition" in the header. This document makes reference to the "TROFF User's Manual", dated April 1974, also by Ossanna. Of note too is a "Quick NROFF Addendum" dated 5/19/75 that is included at the end.
Finally, a slightly later version of the UNIX summary appears, dated August, 1975 instead of May, 1975, the date of the one in the V6 sources. It has minor chnages, most noticeably that the last few pages regarding NROFF and TROFF stuff have been split into two sections, one with more NROFF-y stuff and one with more more TROFF-y stuff.
Anywho, nothing earth shattering here, but at the very least, a couple of document variants vs. what is currently on the archive.
- Matt G.
Hello, I'm just emailing to notify that I've managed to split up the CB-UNIX 2.3 manual in the archive[1] into individual items. I've moved the original contents of this directory into the "raw" directory, and now the split PDFs of the manual live under "man". I intend to do the same with the source code scans, breaking them up into individual files, which will eventually go in an accompanying "sys" folder.
As for my process, decided to throw together a little something to facilitate splitting up PDFs from a simple table. I've created two scripts[2], pdfslice and pdfbutcher. The former is an interface on top of Ghostscript to take a particular page-bound slice out of a PDF on stdin and drop it on stdout. The latter then reads a tab-delimited list of slices out of a table, butchering the PDFs down into their various cuts. The format is dirt simple: the source PDF name, the start page, the end page, and the destination file prefix to which .pdf is appended on output. This isn't by any means a formal or robust solution, just something that came together easy and works for my application. I'm sure this could be made much more efficient; it just operates on one slice at a time, including all the opening and closing for each slice, but gets the job done. Feel free to use it for whatever just don't complain to me when it eats your favorite file or scribbles all over your disk. Also, an example input file for the curious is included[3].
As for the CB-UNIX pages, my hunch is that whoever owned this manual had a CB-UNIX 2.1 manual originally and "upgraded" it with supplied pages for 2.3, as was conventional with documentation updates. For this reason, there are a few random blank pages and several locally printed pages strewn throughout. In any case a blank page was encountered, it was retained in the document for the manpage it followed. In other words, if there is a blank page between a.1 and b.1, it is appended to a.1. The likely reason for blank pages on the back of 2.1 pages was that new copies of the same 2.1 pages were provided with the replacements to keep the page spacing correct with respect to the pages not being replaced. That's my hunch anyway.
There are also pages here and there missing a page, or more likely that were supposed to be removed in the 2.1->2.3 update and simply weren't. Plus, there are a few instances of more than one copy of a non-local version of a page present (in other words, situations where the original 2.1 page wasn't removed but a 2.3 or other newer page was also added). In all these circumstances, the 2.1 page is the one with the normal name and the 2.3 page has been affixed .1l instead of .1, despite not being in the "local pages" PDFs. I'm open to suggestions but my reasoning was that if the 2.1 was the original page for that actual binder, and wasn't replaced by 2.3 but rather that was added, then the 2.3 page for all intents and purposes is a local addition. When in doubt, [4] should be a reasonably complete list of which non-l-suffixed pages aren't from 2.1. Anything else non-local should originate from the previous manual. Also, where there were duplicates on pages that otherwise couldn't be solved this way, the older of the two pages is marked with a .o in the path before the manual section, keeping with the CB-UNIX convention of doing this for old versions of pages.
As usual, please let me know if anything seems amiss. I'll admit after a few spot checks I didn't check each and every page my script popped out for accuracy, but everything I've checked had the right pages. If you do find something off and want to try and slice it right, the scripts above include manpages that should give you a good idea on how to use them if simply reading the scripts isn't clear.
- Matt G.
[1] - https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/
[2] - https://gitlab.com/segaloco/misc/-/tree/master/scripts
[3] - https://pastebin.com/9s2ene9g
[4] - https://pastebin.com/jHw7JeDc
P.S. Wholly unrelated but just out of curiosity, if anyone knows the 16650 UART well and has some time, can you please email me privately? It's tangential to a UNIX-y project but I'll spare the details here.
Good day, something I've come across in my documentation study that I finally got around to researching a bit is a reference to the language Explor in the V2 ld(I) page:
'There are libraries for Fortran (x="f"), C (x="c"), Explor (x="e") and B (x="b").'
The manual has no corresponding mention of any Explor environment, not even a section VI page. The only other UNIX Explor reference I can easily find is on the mailing list here indicating that there is a version of Explor for UNIX on a 1977 tape here (in the 1/explor+dl directory): https://www.tuhs.org/Archive/Applications/Usenix_77/ug091377.tar.gz
Does anyone know if there is continuity here or if the V2 reference and the code on the tape are only related in that they're both for Explor?
- Matt G.
KSOS and related work was sponsored by several DoD activities, at least the
part that I worked on - after 1983.
We've wandered a bit afar for TUHS(?), but, the PWB and other software
wasn't pirated, it was supplied as "government furnished equipment" as part
of each contract.
PWB and other software we got via the NSA's Tycho site, etc. NRL (and then
others) funded later KSOS work, including the Advanced Command and Control
Testbed (ACCAT) and various multi-level secure "Guard" systems, for the
Navy, Air Force, USAFE, etc.
All of which ran on PDP-11s, using the KSOS kernel and userspace, almost
all built by using PWB as the build platform.
On Sat, May 20, 2023 at 12:09 PM Clem Cole <clemc(a)ccc.com> wrote:
> I don't think it was pirated. I'm think it was a special license Ford Aero
> got due to the work with the USG. I sort of remember KSOS and if I'm
> correct that was a DoD funded effort for the Orange Book. So it would make
> absolute sense that Ford Aero might have used the USG connections to
> convince AT&T to release it to them. As I said, Al was very skittish about
> anything that might be misinterpreted by the Justice dept. But if DoD was
> asking for it, Al could show the Jusitce -- "hey -- your people asked for
> it -- we were not selling it."
> ᐧ
>
> On Sat, May 20, 2023 at 3:03 PM Jon Forrest <nobozo(a)gmail.com> wrote:
>
>>
>>
>> On 5/20/2023 11:50 AM, Clem Cole wrote:
>> > Taking this off list.
>> >
>> > I've always wondered about that. Thank you bad word choice -- but it
>> > was not officially released outside the Bell System. Since Ford Aero
>> > had it, it must have been a very special license.
>>
>> It was already there when I arrived so I don't know how it got there.
>> I doubt it was pirated.
>>
>> > Was Ford Aero doing something on a Gvt bid when you were using it?
>>
>> Yes. It was creating KSOS which Tom Ferrine has also mentioned on the
>> TUHS list. This was a "provably" secure version of Unix.
>>
>> You might want to ask John Nagle. His email is probably
>> nagle(a)sitetruth.com, and his GitHub is https://github.com/John-Nagle.
>> He was there when I arrived and he was a key developer of KSOS.
>> If he doesn't know the answer then he might be able to refer you to
>> someone who does.
>>
>> Jon
>>
>>
>>
>>
Hi.
Was any documentation ever done for the basic interpreter
that was on System-V?
Things like allowed keywords or special keywords.
Thanks
Ken
--
WWL 📚 Okey Dokey OK Boss
> From: Matt G.
> there is a "core" file included, I wonder if kernel text is swept up in
> that.
My _guess_ is perhaps not; the disks were really small (the UNIX people
started with an RF11, which the first DEC machine I used - a RSTS system -
also had; that was _really small - 512KB :-).
Probably it did whatever V1 did. I was not up for going to look, since I
wasn't familiar with the V1 code - but then I decided to break down and look
at it, and also create a minimal index to say what's in each module. (Here:
https://gunkies.org/wiki/UNIX_First_Edition#Source_index
if anyone is interested. Made easier because the code is very well commented;
it's very easy to read.)
The code to take core dumps is in u1, at 'badsys:'. It dumps the user's
entire possible memory space (i.e. not just up to the 'break'), and then
(separately) the 'user' area. The system is not included. I doubt V2/V3 are
different.
> ac and mq EAE registers are still in use in s2-bits binaries
Interesting. How did you work that out, BTW? Also, V1 seems to mandate use of
a KE11-A (use is made of it throughout the kernel).
> but have been replaced by s1-bits.
Interesting; how did you work that out? V3's core (V):
http://squoze.net/UNIX/v3man/man5/core
doesn't give the format, just says "The actual format of the information is
complicated because it depends on what hardware is present (EAE,
floating-point option)". Do you have C3's db(I) source? Oh, wait, TUHS has
what claims to be V2's db source:
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V2/cmd/db1.s
but it actually seems to be later; it's conditionalized for having the FPP.
So it must be for a machine running the -11/45 - which we seem to have
decided is V3?
The header for TUHS' V2 says: "The files in cmd/ are recreated from the text
fragments found on the file s1-bits.gz." Which agrees with your take:
> All in all that pegs the s1-bits fragments as being closer in character
> to V3
That's all for the moment...
Noel
> From: Matt G.
> Given the movement of UNIX to the 11/45 and then to C, does the Third
> Edition represent a version of UNIX for the 11/45 with protection but
> written in assembly, not C?
I think so (evidence detailed below). The support may not have been _quite_
identical to that in V4 (e.g. there was no support for pure texts in V3 -
below), though.
> is there any other information such as documents, code, etc. concerning
> the 11/45 assembly version?
This is the real problem, of course; all we have for V3 is some man pages.
(And in relying on them, we have to hope that they were updated to match the
then-current system - which is not guaranteed, but in general at this point
in time, man pages do seem to match whats's in the code.)
> Was work completed on the 11/45 kernel changes in the context of this
> version and then simply "ported" to the C version or were there
> concepts that were cropping up in one or the other and varying amounts
> of transportation back and forth as 11/45 and C aspects were
> implemented?
Without a lot more information, which is now almost certainly lost, we are
unlikely to be able to tell. But let me start by laying out what we _do_ know.
To start with, it's important to realize that support for protection (and
relocation - i.e. memory that looks, to user code, like it's at 0,
is actually at, say, 060000 in physical terms) in PDP-11 UNIX _pre-dates_ the
-11/45. DEC had a rare, and now almost forgotten "Memory Protect & Relocate"
option for the -11/20, the KS11:
https://gunkies.org/wiki/KS11_Memory_Protection_and_Relocation_option
What exactly it did, and how, is now uncertain (no documentation, or code
that used it, appeats to have survived - all we have are a couple of vague
recollections), but it is certain that that the UNIX group's -11/20 had it:
https://www.bell-labs.com/usr/dmr/www/odd.html
and Ken has said that he wrote the code to use it.
It's also important to remember that not all the machines running UNIX would
have had their hardware updated simultaneously: e.g. the patent group's
-11/20 would not have needed the KS11 as much, since it was runnng mature
applications. So UNIX was probably conditionalized to run with and without
the KS11. As late as V3, there were apparently still UNIX machines without
relocation hardware: "The purpose of this command is to simplify the
preparation of object programs for systems which have no relocation
hardware.":
http://squoze.net/UNIX/v3man/man1/reloc
When the support for the KS11 appeared is uncertain. It's not in the extant
V1 code; but V2 seems to have had it: "the current system, which has
relocation and protection hardware":
http://squoze.net/UNIX/v2man/man5/core
V2 also seems to have started looking forward to the -11/45 - "a trap is
simulated by the floating point simulator" (ditto); "if they correspond to
11/45 floating point instructions":
http://squoze.net/UNIX/v2man/man3/fptrap
It is possible that they already had the -11/45 at this point, but I would
tend to doubt it: "immediate mode ((pc)+) is not supported, since the
PDP-11/45 handbook is not clear on what to do about it." (If they had it, a
simple experiment would have produced the answer.) And "Double precision
results are probably less correct than the hardware will be" (note tense).
(All from v2man/man3/fptrap.)
V3 seems to have the -11/45: "it depends on what hardware is present (EAE,
floating-point option)":
http://squoze.net/UNIX/v3man/man5/core
The "floating-point option" would only have been on the -11/45. (And again we
see that V3 still ran on -11/20's; the -11/45 would not have had an EAE:
https://gunkies.org/wiki/KE11-A_Extended_Arithmetic_Element
since all the EAE operations - except normalization, but that's only needed
for floating-point - were in the basic -11/45.)
Probably the protection and relocation provided to UNIX processes on the
11/45 was very similar to that provided with the KS11. Do note that thememory
management was not exactly the same as V4's: "In the future the text segment
will be write-protected and shared.":
http://squoze.net/UNIX/v3man/man5/a.out
However, it was keeping multiple processes in main memory at the same time:
"only processes whose core images are on disk have visible names":
http://squoze.net/UNIX/v3man/man8/ps
So we can actually tell a fair amount about the evolution through V2 and V3
from the few scraps that are left to us. I do live in hope that a V2 or V3
listing will turn up one day; the system changed a lot in that period, and
many questions aren't answered definitively by the man pages.
(One big one is details of how the process' address space was laid out -
ld(III) and exec(II) simply say nothing at all. I assume it started at 0 -
but who knows? In V1, it must have started at a higher address - as on
MINI-UNIX:
https://gunkies.org/wiki/MINI-UNIX#Implementation_details
which I am fairly familiar with - but again, neither V1's ld(III) or exec(II)
mentions this detail. I suppose I could work it out from the V1 source, but
I'm not _that_ interested... :-))
It is possible that the evolution started with just protection (if the KS11
could do that), and relocation was added later. It seems clear that the
step from the KS11 to the -11/45 was probably not large.
If anyone has a V2 or V3 listing, please sing up! That would be an
_incredibly_ valuable thing to add to the historical record.
Noel
Hello, I've just today secured purchase of an original 4BSD manual and papers set and a copy of what I believe is the V6 papers set as well. Of note amongst the tabs I could read from the pictures of the Berkeley binder was a section of fonts that I don't think I've seen before named the Berkeley Font Catalog. I did a bit of searching around and didn't find anything matching that on first inspection re: scanned and source-available BSD doc collections. Anyone got the scoop on this?
Either way, once these arrive in the mail in I'll try and see what the delta might be between these and the current sources in V6 and 4BSD stuff on the archive. They're from the collection of an emeritus professor on the east coast, and I'm not sure if they represent unmodified docs shipped from Bell and Berkeley or have local modifications. In any case, his son said they'll be going through more material soon and are liable to turn up more UNIX stuff, so I'll keep folks posted if I come into possession of anything else particularly spiffy.
- Matt G.
for some reason, i have a copy of
“computer programming and autocodes”
by
burnett-hall, dresel and samet (1964).
it covers pegasus-sirius autocode, elliot 803 autocode,
mercury autocode and algol.
it is a hardcover duplicate from the library of congress.
anyone want this?
otherwise, it gets recycled thru my local library.
I've just completed the Fourth Edition pass of commits in my manual history repository here: https://gitlab.com/segaloco/mandiff
Something I've kept a particular eye on is what the landscape looked like on the filesystems over the early years of development. Here are some of those observations with a few areas perhaps requiring further illumination:
In the first two editions, there was a file, /etc/uids, which mapped simply a username to a uid. The reason was presumably due to the plaintext passwords in /etc/passwd at the time. The arrival of crypt(III) and related functionality rendered this moot by the time of V3. Additional GECOS information is first spotted in /etc/ident in V2 but by V3 has also found home in /etc/passwd in the GECOS field today used often for a user's full name. The s1-bits source codes refer to /etc/passwd where disassembled s2-bits binaries refer to /etc/uids still, dating both sets of code.
References to /etc/motd first appear in the V2 manual from what I could find, so that may not have been around in V1. Additionally, after V1 many files are moved from /etc to locations under /usr such as ascii and kbd moving to /usr/pub and roff's suftab moving to /usr/lib. It seems in the First Edition, manual section VII mapped to /etc itself it seems, with etc and misc in the manual being synonymous.
So all in all it seems, in terms of support files anyhow, /etc wound up smaller by the advent of the C system, at which point init beings using /etc/rc and the directory begins to expand again.
Another directory of interest is /sys for a few reasons. First, this directory serves different purposes depending on your kernel these days, with BSD systems storing system source code here whereas Linux provides a kernel interface filesystem. I'm not sure what other contemporary systems may use this for, but from V3 and back, this was another RK disk mounted in addition to /usr. This /sys directory appeared to contain the manuals, source code to system components including the commands, kernel, bootloader, and languages, and a copy of the kernel image referenced down in the source tree.
In total I've identified the following directories: c, fort, lang, man, mdec, source, sys. Most names should be obvious from later releases, with lang being a parent directory that contained bdir and mdir B and m6 languages respectively. My guess is that when RP support was made workable in V4, there was no longer a need to segregate data amongst RKs like this so /sys was merged into /usr, leading to the later structure we see in V4-V6. Of note, this structure is implied in CB-UNIX still in the path names of the source code available on the archive. The kernel is found at /tsys/sys/ much like the kernel in V1-V3 living at /sys/sys.
One thing I haven't been able to glean in the process is precisely how the command and library source code was stored in these very early versions. The kernel in T.R. Bashkow's analysis is implied to be stored in files u[0-9x].s, and command source files at least exist somewhere as the command followed by .s. As of V5, the command, syscall wrapper, and library source codes are split up amongst a number of directories with names such as s1, s2, s3, etc. under source. By V7, this has taken on the cmd/lib/sys structure of later releases.
Finally, just a general curiosity the version study involved has raised. Given the movement of UNIX to the 11/45 and then to C, does the Third Edition represent a version of UNIX for the 11/45 with protection but written in assembly, not C? I've seen one handwritten document that makes mention of some of this, but is there any other information such as documents, code, etc. concerning the 11/45 assembly version? Was work completed on the 11/45 kernel changes in the context of this version and then simply "ported" to the C version or were there concepts that were cropping up in one or the other and varying amounts of transportation back and forth as 11/45 and C aspects were implemented?
As always, thanks for keeping up, hopefully I can get this repository up to V6 soon, then the real branching fun begins. The V3 to V4 changes are hopefully the last time the commit diffs have major noise, what with the conversion from roff to nroff. I suspect transitions to macro packages later won't be as bad.
- Matt G.
Howdy folks, I was perusing old copies of ;login: and came across a note about the BSTJ UNIX issue in the August 1978 newsletter: https://archive.org/details/login_august-1978
What I find particularly amusing is that all UNIX licensees at the time of that publication allegedly were provided a copy free of charge. The text goes on to indicate additional copies can be purchased for a measly $1.50.
Fast forward to today and I typically don't see this copy pop up on auction for less than $100. Still, amazing how something was being just tossed out to anyone who wanted one and now here 45 years later, it's a mad scramble to find the same. Then there's this listing: https://www.ebay.com/itm/134212722284?hash=item1f3fb39e6c:g:9VEAAOSw8HtjCp2…
$3000 dollars...quite shocking, although perhaps they're banking on the uniqueness of that little sleeve, I've never seen one of those with a BSTJ issue before. Was that some sort of packaging the issues were delivered in? It has the Bell Logo in the little window on either side, so I want to believe it's original and not something someone threw together after the fact.
In any case, I suspect part of the low pricing is due to Bell anti-trust stuff, as they really moved on nickle and diming on documentation once they were legally able to. In any case, I'm always shocked to see how much I paid for something in my archival efforts and then I find a price sheet only to find out someone bought a book back in the day for the cost of a burger and fries. While I'm pursuing documents for research purposes...I may be inadvertently building myself quite the value store without even meaning to...
- Matt G.
All, e-mails from the TUHS server are not making it to Hotmail or Outlook.
I've not changed anything. Is there anybody with some MTA/ISP experience
who might be able to help diagnose the problem?
Thanks, Warren
In the midst of my documentation research, I've done a little analysis on the life and times of this whimsical little phrase which first appeared in the "HOW TO GET STARTED" or basinf section of the Third Edition manual (a derivative of the original login(VII) page):
"When you type to UNIX, a gnome deep in the system is gathering your characters and saving them in a secret place."
Aside from the wonderful imagery of the terminal interrupt driver as a little gnome, I've found that this line has some implications regarding UNIX documentation lineages. This exact verbiage survives in the research line through the Sixth Edition, and is slightly edited prior to the Seventh:
"When you type characters, a gnome deep in the system gathers your characters and saves them in a secret place."
The latter of the two changes holds with a trend over time of using progressive rather than continuous language. That aside, simple change of "to UNIX" to "characters". Seems simple enough, reduce redundancy and make it more clear what is happening. In this same breath, basinf was merged into intro. Checking the Tenth Edition manpage sources on the source tree, this version then seems to persist for the rest of the research lifetime. Peering across into BSD-land, I had to pull a paper copy for this one because I can't find the intro document in the tree, but it likewise has the same exact text, so this version also persisted through the remainder of the UCB development period.
When you start to look into other Bell lineages, things get a little more interesting. Let's start with MERT Release 0. This manual was produced in October, 1977, and has a "gnome" message identical to that in the Sixth Edition manual, so presumably by this time, the old text could very well have still been up in research. Unfortunately we only have scans of this manual, so I can't say whether the merge from intro and basinf to just intro has happened yet. Additionally, this may not reflect the case with USG Program Generic 3 (or any of those) as the intro is one of the sections marked as modified from the USG manual.
Next let's check the situation with PWB 1.0. To start, the intro and basinf documents have been merged into a document titled "introduction", which may very well indicate that this manual page at least was produced after the merge in the research line, and given this was July 1977, that's a case for the MERT 0 page likewise probably being a merged page. However, the text reads:
"When you type to UNIX, a gnome deep in the system is gathering your characters and saving them."
So a different modification of the Sixth Edition text, we still have "to UNIX" and the continuous "is gathering...and saving". What does change is we no longer know where the gnome is saving those characters. We've now lost the secret place, research and BSD carry on knowing the real story, and MERT 0 kept this intact as well. Taking a look further afield, in the System III manuals, originally produced in 1980, we see the same as PWB, a merged intro document (now just named intro again), and the same text, the Sixth Edition text minus the secret place commentary. So whatever merges of documentation took place between PWB 1.0 and 3.0, it seems the updated text from the Seventh Edition was never picked up, and the modified line persisted through to this point. Checking forward, this text persists into the release of PWB 5.0. The first release of System V only changes "UNIX" to "the UNIX System", consistent with nomenclature changes throughout documentation in the PWB 5.0->System V transition.
Taking a little peek aside into yet another lineage, the CB-UNIX 2.3 manuals circa 1981 likewise carry this same text, with the "secret place" removed. Unfortunately we don't have any other versions of CB-UNIX manuals to compare with, but the specific page in question actually lists CB-UNIX 2.1 in the footer with a date of November 1979, so the PWB-ish text in that lineage dates to at least that point.
There are a few different variations circa SVR2, with the 1983 BTL version and 1984 DEC processors versions of the manual changing the first bit to "When you type to UNIX system", whereas the 1986 HRW tradebook manuals state "When you type to the UNIX system." So the "the" is dropped, "system" is lower-cased, but then the "the" is added back between 1984 and 1986.
Finally, there is one more variation on this line, the saddest one of all, that appears circa System V Release 3 material in 1987:
"When you type to the UNIX system, your individual characters are being gathered and temporarily saved."
"Pay no attention to the gnome behind the curtain," says AT&T, removing all whimsy from the equation. This persists into SVR4. Can't say what happens in SVR4.2, I don't have one of those user's manuals, but in any case, it's probably save to assume Novell didn't resurrect the gnome. So just to review the strange and wonderful journey our little gnome has been on:
- Introduced in Third Edition
- intro and basinf documents merged between Sixth and Seventh Edition
- MERT 0 takes the old text
- PWB line takes the old text and drops the reference to a "secret place"
- Seventh Edition adjusts the text to drop UNIX redundancy and use progressive language
- PWB line keeps rolling with their modified text, CB-UNIX takes it up (or vice versa? can't conclude anything there)
- PWB to System V process converts most references of "UNIX" to "the UNIX System"
- Along the way, the "System" is ultimately lowercased, the "the" gets lost for a while and comes back
- AT&T finally removes the gnome reference in SVR3/1987
- Research and BSD keep the Seventh Edition text to the end
Granted, this is a very trivial detail, but one that does demonstrate some flow of documentation revisions and what sorts of changes different groups were making to their documents, what with research making changes to the grammatical style while the PWB-then-commercial line grew more sterile in this presentation over time. This then shows at least one instance of a lack of merging of aspects of the Seventh Edition documentation back into the PWB line after the split of 1.0. Eventually I hope to illuminate many more such areas through the diffing and historical analysis I'm performing.
By the way, I believe a few list members had indicated at some point or another being in possession of some USG Program Generic manuals. If you happen to catch this, and have the time, I'd be ever so curious which of the above, if any, variations on the text they contain. This particular line is immediately following the "How to communicate through your terminal" heading the "HOW TO GET STARTED" section.
Anywho, I hope this was an entertaining diversion. While most of the analysis I'm performing concerns software details and version differences, it's also nice to take a closer look at some of the other sorts of changes that have happened in the lifetime of the system's growth and diversification.
- Matt G.
Although it dates from four years ago, MIT's obituary for Corbató was
still interesting to reread. It couldn't bring itself to mention
Unix--only the latecomer Linux. It also peddled some mythology about
Whirlwind from the decade before timesharing.
"Whirlwind was ... a rather clunky machine. Researchers often had
trouble getting much work done on it, since they had to take turns
using it for half-hour chunks of time. (Corbató said that it had a
habit of crashing every 20 minutes or so.)"
"Clunky" perhaps refers to Whirlwind's physical size. It occupied two
stories of the Barta Building, not counting the rotating AC/DC
motor-generators in the basement. But it was not ponderous; its clean
architecture prefigured "RISC" by two decades.
Only a few favored people got "chunks" of (night) time on Whirlwind
for interactive use. In normal business hours it was run by dedicated
operators, who fed it user-submitted code on punched paper tape.
Turnaround time was often as short as an hour--including the
development of microfilm, the main output medium. Hardware crashes
were rare--much rarer than experience with vacuum-tube radios would
lead one to expect--thanks to "marginal testing", in which voltages
were ramped up and down once a day to smoke out failing tubes before
they could affect real computing. My recollection is that crashes
happened on a time scale of days, not minutes.
"Clunky" would better describe the interface of the IBM 704, which
displaced Whirlwind in about 1956. How backward the 60-year-old
uppercase-only Hollerith card technology seemed, after the humane full
Flexowriter font we had enjoyed on Whirlwind. But the 704 had the
enormous advantages of native floating-point (almost all computing was
floating-point in those days) and FORTRAN. (Damn those capital
letters!)
Doug
Apologies for once again posting an item for the groff list to tuhs,
re: "Any reason the removal/renaming of read-only registers should be
permitted?"
Doug
I think Clark was justified in deviating from Ossanna.
The prime rationale for allowing removal of read-only registers is
uniformity--a powerful argument. It simplifies documentation and
relieves a burden on users' understanding. It probably simplifies the
code, too.
This kind of special-casing is AI in the service of some perception
that "no one would want to do that.". If "that" is the clear meaning
of some specified action, then so be it. We are not dealing with
physical hazards here.
> even if they don't screw up the formatter internally,
> they will become unrecoverably useless for documents
> and macro packages,
The same argument could be made about \applying .rm to any standard
request, and I would disagree for the same reason as above. (A
disappointing experimental discovery in this regard: .de seems to be
immune to removal.)
A change that I *would* welcome is warning about writing into a
read-only register. (Also make .rm work on .de--a near reversal of the
original proposal.)
Doug
Hello.
Even in these rusty times (oh what complicated chemical processes
there are!) a question that i hope someone can answer.
In both Spinellis' UNIX history repo as well as the CSRG one (via
robohack/ucb-csrg-bsd.git) one can find two ways of writing Kurt
Shoen's name, and whereas i, who always refer to Mail and its
"usr.bin/mail/def.h" (aac48ec10b56f59b321fb033a36bca2114ef061b):
[ Author: Kurt Shoens <kas>
AuthorDate: 1980-10-08 08:53:34 -0800]
+ * Author: Kurt Shoens (UCB) March 25, 1978
one can find the name "Kurt Schoens" as early as 4.2 BSD (curses,
twinkle1), and then in a growing number of files, especially after
1993 when Keith Bostic and then Kirk McKusick did
admin/admin/contrib/address.list and
admin/admin/contrib/contrib and
share/man/man0/title.cdrom
But one can also see the commit
Author: Kurt A. Schoens <kas(a)ucbvax.Berkeley.EDU>
AuthorDate: 1980-10-09 02:48:47 -0800
and that is strange, as i presume all-automatic version control
conversions here? Schoens .. is a bug?
Thank you.
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
|~~
|..and in spring, hear David Leonard sing..
|
|The black bear, The black bear,
|blithely holds his own holds himself at leisure
|beating it, up and down tossing over his ups and downs with pleasure
|~~
|Farewell, dear collar bear
I've mentioned tangentially this a few times, but over the weekend I
finally got around to dusting off the code and getting it running:
https://github.com/dancrossnyc/rxv64.git
rxv64 is a rewrite of MIT's xv6, which in turn, reimagines 6th Edition
as a purely pedagogical system, implemented in ISO C for 32-bit SMP
x86 machines.
Building on xv6, rxv64 is implemented in Rust and targets 64-bit
x86_64. It works well enough to boot up, run a shell, and run
commands, but it doesn't really have much of a userland at present.
I started this as a pedagogical tool, being something that one could
point working engineers at as an example of a "real" operating system
implemented on real hardware in Rust. The code could surely be made
safer and more comprehensible, but cycles are short at present, and
it's better to just get it out there.
Have fun.
- Dan C.