>> Looking at net_vdh.h, it seems to be a "VDH-11C"
>> I wasn't able to find anything out about it at all. (I have some
>> hardcopy manuals for other ACC IMP interface products, and I was going
>> to look in them to see if any of them listed its manual in a 'see
>> also', but I can't find them.)
> From: Lars Brinkhoff
> Noel Chiappa wrote:
>> Did VDH PDP-11's have a special VDH interface
> Sorry, no idea.
That was a semi-rhetorical question; after I typed it, I did some looking,
and came up with the answer above, the ACC VDH-11.
I did eventually find the hardcopy manuals for other ACC IMP interface
products, but none of them mention the VDH11.
On a hunch, I looked to see if there was a VDH11 driver for ELF, and
sure enough, there was:
(If anyone wants to look at it, ktbl.sml hold the register definitions.)
With no manual for the device, and no museum catalog hits to show that
someone has one which hasn't been scanned in yet, that's probably a dead end,
although with the two drivers, one could probably mock up a rudimentary
I'm not sure there's any point, though; using an LH/DH interface is going to
work as well, and those device are already supported.
> From: Paul Ruizendaal
> impio.c: available here:
Thanks for chasing those all down; I knew the BBN system was based on the NCP
Unix (called in this discussion the 'NOSC' system), so I figured it would
have the missing files, in some form.
Looking at a diff between the damaged impio.c in the NOSC tree, and the
impio.c in the BBN tree, there are some changes (in the section where we have
both versions) between the NOSC one and the BBN one, but it will probably be
possible to take the missing piece off the bank end of the BBN one and tack
it on to the NOSC one.
Somewhere in the document scans available online from DOD, there used to
be a long thing from the UIUC people who did the original NCP Unix. I don't
know if it included source; it might have.
Berkeley Tague says he invited John to work with the USG in 1978
[ AUUG, below. Also by Ronda Hauben in multiple places ]
[ In two ‘recollections’ / history docs sourced from UNSW, ]
[ the first visit was misremembered as 1976 or 1977. ]
I was wondering when John's two other sabbaticals to Bells Labs were.
The Peter Ivanov interview with John in “Unix Review”, 1985, notes two sabbaticals by then.
After writing the celebrated Commentary on the UNIX Operating System in 1976,
Lions was asked to spend two sabbaticals at the Labs.
This comment in 2000 on “9fans” from Rob Pike
says John also visited in 1989,
but sadly his work by then had been affected.
Anyone know when the other visit was?
Presumably 1983 or 1984 if John took a semester off every 5 years.
In AUUGN Oct 1995, V16 #5, there’s a collection of emails, an ‘interview’ with John
PDF pages 17 & 24
Berkeley Tague says in 1978 he invited John to work with the USG.
He wanted to come to Murray Hill for his sabbatical so it was a win/win situation.
He spent two or three summers at Bell Labs over the years
and supplied us with many of his graduate students
for sabbaticals and permanent employment.
What have been the professional highlights of your career?
For myself, three sabbaticals at Bell Laboratories have been highlights.
For my students, opportunities arose for employment at the Laboratories.
Steve Jenkin, IT Systems and Design
0412 786 915 (+61 412 786 915)
PO Box 38, Kippax ACT 2615, AUSTRALIA
> From: Michael Casadevall
> sys4.c is entirely corrupted, and part of impio.c is cut off
The copy on MIT-CSR (the origin of the copy at TUHS) has the same issues. I
doubt it's possible to recover them from that system; you'll have to find
some other way to recover them (perhaps through a dump of the BBN system), or
re-code them (as you did with sys4.c).
> I do need to do a readthrough for the VDH driver ... I think that might
> be for the radio links to Hawaii and the UK?
No. Read BBN 1822.
The LH and DH bit-serial physical interfaces only work up to about 1000 feet
or so. (Less for LH; DH is logically idential to LH, but uses differential
pairs - the LH is single-sided). VDH is, in the bottom layer, simply a
synchronous serial link, allowing the host to be up to hunreds of miles from
> From: Lars Brinkhoff
> Another it adding emulators for various IMP interfaces. I.e. you will
> not get anywhere without adding one of IMP11A, ACC, or VDH to SIMH.
Did VDH PDP-11's have a special VDH interface, or did they simply use an
off-the-rack DEC synchronous serial interface like a DU11? (More of them
if anyone wants.) Looking at net_vdh.h, it seems to be a "VDH-11C"
Looking online, the VDH-11 seems to be an ACC prodict, but I wasn't able to
find anything out about it at all. (I have some hardcopy manuals for other
ACC IMP interface products, and I was going to look in them to see if any of
them listed its manual in a 'see also', but I can't find them.)
I'm not sure why people did just use an off-the-rack DEC synchronous serial
interface; maybe the VDH11 did a BBN specific CRC, or something (in addition
to using DMA; mostr DEC sync interfaces didn't, IIRC)?
Anyway, you don't want to use VDH.
Tom Perrine wrote:
> A specific example of the VDH interface was the IMP at NOSC.
> IIRC it had 4 ports?
Normally yes (depending on the hardware configuration).
> One was a local connection to the machine at NOSC in the same room/building.
> One was a VDH to UCSD
> One was a VDH to LOGICON - the connection at the LOGICON end was a "56K
> wideband modem", which was a little larger than a 2-drawer file cabinet. I
> also seem to recall that the power supply had tubes.
> Not sure where the 4th port went - I only saw the UCSD and LOGICON ends in
Maybe this information for IMP 3 and 35 from 1979 can jog your memory.
HOST NOSC-SECURE2, 0/35,USER,TENEX,PDP10,[USC-ISIR1,ISIR1]
HOST LOGICON, 1/35,USER,UNIX,PDP11
HOST ACCAT-TIP, 2/35,USER,TIP,H316,[NELC-TIP]
HOST NOSC-SECURE3, 3/35,USER,UNIX,PDP11
HOST NOSC-CC, 0/3,SERVER,,UNIVAC-1110,[NUC-CC,NOSC-ELF]
HOST NOSC-SECURE1, 1/3,SERVER,UNIX,PDP11,[NUC-SECURE]
HOST NOSC-SDL, 2/3,SERVER,UNIX,PDP11,[NELC-ELF,NELC]
HOST NWC, 3/3,SERVER,EXEC-8,UNIVAC-1110
HOST NPRDC-11, 4/3,SERVER,UNIX,PDP11
>> The BBN with TCP stack is a bit mislabeled: it still appears to
>> support NCP, but none of the client apps are there, but its directly
>> built off the NOSC stack.
> That's very good. I hope the NCP support there is in good shape.
>> it's probably a fork from earlier in development. 79-80 timespawn
>> would have been *very* early in TCP's life
> TCP had been underway since 1973. Experiments called "TCP bakeoffs"
> started around 1979.
That is what the “V6 with TCP” on TUHS is:
Following the success of NCP Unix, it became a base for various TCP experiments in the ’77-’79 era. The first was an implementation by Jack Haverty, that wrapped an existing TCPv2 stack that was written in PDP-11 assembler into a Unix application. It ran in user mode and depended on Rand ports and several extensions that Jack added to the kernel (await/capac and a user mode timing variable, where the clock routine incremented a variable in user space). He used a PDP-11 with little core and the pipes (ports) did not stay in the file buffers, but flushed onto disk. This killed performance: Jack recalls that a bad run would average a few characters per second.
Next Mike Wingfield wrote a TCPv4 stack in C, more or less using the architecture of the above. It was the “winner" of the December 1979 bake-off. I think it is the first TCPv4 implementation for Unix and maybe the oldest surviving source for TCPv4 overall. I wanted to try if it would still interoperate with modern TCP/IP, but I never got around to that. An actual printout survives in the SRI archives and I painstakingly retyped that source, just weeks before Noel found the right tapes :^). Later still, Craig Partridge found a full report and listing in the BBN archives (report no. 3724). This NCP Unix with the Wingfield library is the version that is labeled “BBN V6 with TCP” on TUHS.
Some of the code in the Wingfield stack is to test the protocol. Arpanet essentially offers circuit switching, and some of the code is there to simulate dropped packets, out-of-order packets, etc. It also tested security features that were under consideration, but subsequently dropped as interest shifted to end-to-end encryption.
Again, user mode TCP was not found to be practical, the 16-bit era was ending and that is when Rob Gurwitz was assigned to write a new stack for the VAX (1980). By that time Jack Haverty was his boss. Some parts of the BBN VAX-TCP design still echo the user space origins and experiences of the BBN team in the immediate years before. This stack I got working and it still interoperates with modern TCP/IP (at least it did some 5 years ago).
Jack Haverty can easily be reached via the internet-history mailing list.
I’ve summarised the history here: http://chiselapp.com/user/pnr/repository/TUHS_wiki/wiki?name=early_networki…
I should transfer it to the TUHS wiki or to Gunkies one of these days.
I am not sure I understood which files are missing or corrupted and in which NCP Unix trees. Noel retrieved the files from old (mouldy even) tapes so some corruption is quite possible. Pulling together material from various sources can hopefully lead to a working source tree. Glad to help.
Further note that NCP Unix was initially developed on 5th Edition, but soon migrated to 6th edition. I am sure that the various installations tracked new developments and installed extra bits and pieces. The surviving images are from 1979 and for sure would have picked up bits from newer releases and other sources (such as the Uni of Calgary buffer extensions).
I've been recently working on researching ARPANET and the like for use in
an upcoming video. As a starting point, I've been looking at the early UNIX
networking code in archives, specifically, the NOSC tarball, and I've spent
quite a few hours trying to get building on livestreams.
What I've found is that there's corruption issues in code; which is noted
in JOHNS-NOTE, although it's more severe than I realized. For example
sys4.c is entirely corrupted, and part of impio.c is cut off. However, this
isn’t quite as bad as it sounds. For example, by kitbashing both the
original v6 source code, and the later BBN TCP code, I was able to create a
sys4.c that builds and links which should be close to the original.
Furthermore, it is possible to use the “vdh” target instead of the imp
target to at least try and get the code building. I did successfully get a
kernel to build, and it even prints out a mem message before deadlocking.
My guess is it's either deadlocked waiting for the IMP, or there’s
something wrong with the build. There’s some indication that it might need
a split kernel, although I’ve not had any success with that thus far. I
have uploaded my current build tree to git, as well as tarball with simh
images if anyone wants to try and figure out what has gone wrong. I admit,
my knowledge of PDP-11 assembly and debugging platforms is a bit wanting :)
There’s some indication that this, and the later BBN TCP (which is from
around the same time period) code were built on top of the Programmer’s
Workbench vs. stock v6; especially because some code patches were needed to
get it to build. I did look at the TUHS PWB archives, I see a bunch of
binaries, but absolutely no idea how to install them. I’ve heard that none
of these archives are actually complete, but I'm hoping someone might have
some idea of how to go forward, since, if nothing else, I’d like to end
this with a success story, although I’m happy with as far as I got.
Furthermore, I do know that I can run some of the ARPA level utilities in
MIT ITS on CHAOSNET, which will be an upcoming project, although that is
going to be a dive in and of itself.
In short, I’m hoping someone might be able to provide some insight into
where things have gone wrong:
* Is the netunix kernel I built hanging because of corrupted code, or is
it waiting for non-existent hardware.
* NOTE: The DC-11 driver was not included, but I don’t think I need that
for a single console?
* Is there any versions of PWB that is “easily” installable, since its
very clear the later BBN code requires it (it refers to ncc explicitly)?
* I know IMPs have been emulated, and even have successfully routed
packets, so I’m also trying to figure out how much would still be necessary
to actually recreate a minimal ARPA network?
I did try to build some of the NCP applications regardless; it does appear
that some parts are simply missing. Mailer.cc seems to want a hnconv.o but
no source file exists. The FTP daemon on the other hand wants a library
simply called “j”.
My guess is that even if the NCP code was buildable, the applications might
not be. However, this did make me take a closer look at the BBN code, and
it does have an ifdef for NCP, suggesting that it was still
usable/supported? It makes sense, it seems to have been written before the
TCP/IP flag day. I’m just not sure where to approach compiling it.
I’ve uploaded the code with patches to build with the v6 compiler to github
NOTE: v6's cc needs a seperate patch to increase the symbol table size;
that's done in the disk image.
Files, with SIMH configuration available here:
My livestreams (12 hours or so) are on my YouTube channel:
Feel free to forward this to other lists that may have PDP-11 or ARPANET
Has this been covered before? I’ve searched but not found an obvious answer, which would be a timeline, not a table.
Has anyone roughly calculated “man years” spent developing Unix to 1973 or 1974?
Under 25 "man-years”? (person years now)
It compares favourably to the quoted “5,000 man years over 4 years” invested by IBM for the 1st million lines of OS/360 - which by 1978 was estimated a 10M LOC.
In my reading on Multics, I’d not noticed a ‘man years’ estimate, thought the project ran from 1965 to 1985 when Honeywell ‘capped’ development and span off a commercial entity [ Bell Labs leaving April 1969 ].
There were many releases of Multics beginning with "MR 1.0” in 1974 to “MR 11.0” in 1984, with some others later.
Cobato in 1977 wrote that by 1969, when it moved out of ‘development only’, 150 man-years were spent on software.
The original Unix group working with the PDP-11 on the 6th floor should be well known, but I can’t recall seeing a list.
Would the first 1973 conferenceor 1974 CACM paper be the natural cut-off date for an ‘original' group?
There’s a list of "Former members of 1127” maintained on-line.
As an outsider who doesn’t know ppl & dates, can’t extract what I was interested in.
There was a constraint on active users / concurrent logins in the “Attic": the number of connected terminals & desks there.
Assuming it took time to get terminals installed elsewhere, then later dedicated phone lines and 300 baud modems outside.
The typesetter used by the patent dept isn’t mentioned.
I’ve a recollection it was fed by mag tape, but unsure of that source.
Infer at least the people named in the piece, which looks very sparse:
Ken & Dennis :)
Plus Joe Osanna working on roff / troff? [ do I have that wrong ]
The 1971 “1st Edition” Manual Intro lists 4 names. No others appear in Sections 1, 3, 6, 7 [ commands & libraries ]
ken K. Thompson
dmr D. M. Ritchie
jfo J. F. Ossanna
rhm R. Morris
In June 1974, Dennis wrote in the preface to the Version 5 manual, with he and Ken named as authors.
The authors are grateful to
L. L. Cherry,
L. A. Dimino,
R. C. Haight,
S. C. Johnson,
B. W. Kernighan,
M. E. Lesk, and
E. N. Pinson
for their contributions to the system software,
L. E. McMahon for software and for his contributions to this manual.
We are particularly appreciative of the invaluable technical, editorial, and administrative efforts of
J. F. Ossanna,
M. D. Mcllroy, and
An Oral History of Unix
Assembling the History of Unix [ Report of FRS121 course ]
The center of Unix activity was a sixth-floor room at Murray Hill which contained the PDP-11 that ran Unix.
"Don't think of a fancy laboratory, but it was a room up in the attic," as Morris describes it.
In addition to the programmers, four secretaries from the patent department worked in the attic,
performing the text-processing tasks for which Unix was ostensibly developed.
We all worked in the same room.
We worked all up in an attic room on the sixth floor, in Murray Hill.
In space that maybe was one and a half times the size of this hotel room.
We were sitting at adjacent terminals, and adjacent, and we knew each other and we always in fact ate lunch together.
Shared a coffeepot.
So, it was a very close relationship and most of us were both users and contributors and there was a significant initiative for research contribution at all points.
Steve Jenkin, IT Systems and Design
0412 786 915 (+61 412 786 915)
PO Box 38, Kippax ACT 2615, AUSTRALIA
Good afternoon folks, linked is a list of all of the call numbers of UNIX-relevant documentation that I've been able to catalogue lately: https://pastebin.com/DbDAhX3W
This isn't exhaustive, I skipped many documents under dept (assuming dept) 305, 306, and 308, focusing mainly on 700, 301, 307, and 320.
I was wondering if anyone that has some knowledge of the numbering system used for these documents in Bell might be able to comment on this in any way. What I've been able to make some determination on is:
700-prefixed call numbers appear to be general Western Electric stuff, most of these manuals being related to switching, power, hardware, etc. However, the UNIX 3.0 manual and 4.0 reference guide are both under this series too. I imagine this was simply because the computer systems group hadn't been formally spun off or otherwise received directive to manage UNIX documentation at this point? In any case, I'd be curious what all else may have gotten 700-series call numbers before the 300-series took over UNIX docs.
As for the 300 series, as far as I can tell 300 is the umbrella for AT&T Computer Systems, with several sub departments handling slightly different (although overlapping in circumstances) concerns. What I have managed to determine is that 301 series encompasses the original System V version documentation, a few "Level II COBOL" documents, as well as some M68000 and Z8000-specific versions of docs (I didn't know UNIX System V ever hit the Z8000, that's cool).
After System V gold, the wealth of UNIX documentation appears to come from code 307-X instead, I'm assuming 307 is whatever permutation of USG/USL happened to exist at the time. However, there are a few other codes that seem to sporadically be involved in UNIX docs as well as other computing docs:
302 - Just a smattering of Writers Workbench docs, very high call number suffixes (950-958).
303 - Bunch of 3B20D (Real-Time-Reliable) docs as well as other 3B20 stuff, mainly hardware manuals but a few SVR2.1-related docs as well for 3B20A, S, and D
304 - Another smattering of 3B20 docs, this time mostly A and S, mix of hardware and UNIX docs
305 - This one is hard to pin down, they've got the basic 3B2 docs, some other guidance docs for non-20 3B computers, and a mishmash of language tools like assemblers, a BASIC interpreter, compilers, and a few odd technical bulletins for products covered in other groups
306 - There wasn't much direct UNIX documentation here, just stuff about 3BNet (3B computer networking?) and the 5620 DOT Mapped terminal
308 - Documentation on a whole mess of software utilities with some odd Sys V manuals sprinkled in. You've got stuff like the "Office Telesystem", Instructional Workbench, more docs on BASIC, Pascal, and COBOL, some Fortran stuff as well, and a few other reference documents
310 - Seems to be entirely related to Documenter's and Writer's Workbenches. Whats odd is there is also a pretty even split of DWB and WWB documents in the 302 and 307 groups, so hard to say why the split, maybe a secondary department producing supplementary literature? Very low call number suffixes, so possibly 302 transitioned into 310 for DWB/WWB support
311 - Might be a "trade book" publishing arm, seems to only contain a few books, including "The C Programming Language"
320 - Might be the "standard systems" trade books arm as opposed to the version/system specific documentation gotten from USL directly. This list contains books like the SVID, Bach's Design of the UNIX Operating System book, some programming guidance books, and the UNIX Programmer's Manual 5 volume series with the metallic alphabet blocks on the cover (echoing the V7 trade release). What's interesting is call number 320-X comes back around with SVR4 as the call code that a number of 386-specific manuals were published under.
341 - This one is very odd, a higher call number than any of the others, but the only docs I could find under this are the System V gold Document, Graphics, Programming, and Support Tools guides, which curiously weren't published under 301 like the rest of the documentation for that version.
Finally, some digestion from this research:
This gives some compelling version-support information in early SysV I wasn't aware of previously:
- System V Gold:
- System V R2:
- iAPX 286
It appears Bell also opted to have different documentation sets for different processors in SVR2. We kinda see this later on with i386 variants of the SVR3 and SVR4 documents, but I don't think we ever quite see this wide of a spread of docs straight from AT&T after this.
Also, among the many documents (one I didn't add to the list yet) is one referring specifically to UNIX Release 5.3, not System V R3 or anything like that, but a Release 5.3. I know I've seen "Release 5.2" listed in a few places, which had me curious, is there a well established record of what happened with internal (non research) UNIX after System V was branched? Whether the development stream simply became System V development, or if there was still a totally separate UNIX 5.x branch for a while that, while borrowed into System V at necessary times, did still constitute a distinct branch of development after the initial System V release. I know there is at least evidence of aspects of System V being put into CB UNIX 2.3, meaning CB 2.3 was post-System V, that would make a compelling argument for there being some more development work between CB and USG folks before they put the final bow on the UNIX/TS project and formally routed all efforts to System V.
I'm sure there are other little nuggets of information hiding in there, but that's my digest from this thus far. If anyone knows of any other such efforts to produce a listing of all known UNIX documentation call numbers from AT&T, I'll happily contribute this to their efforts.
- Matt G.
P.S. SysV Gold scans are still inbound, just likely will be a winter project once the rains start and I can't go play outside.