I've assembled some notes from old manuals and other sources
on the formats used for on-disk file systems through the
Additional notes, comments on style, and whatnot are welcome.
(It may be sensible to send anything in the last two categories
directly to me, rather than to the whole list.)
Among the papers of the late Bob Morris I have found a
Unix manual that I don't remember at all--a draft by
Dennis Ritchie, in the style of (but not designated as)
a technical report with numbered sections and subsections.
It does not resemble the familiar layout of the numbered
editions. Besides the usual overview of kernel and shell,
it describes system calls and some commands, in a layout
unrelated to the familiar man-page style. Detailed
reference/tutorial manuals for as, roff, db and ed
are included as appendices.
The famous and well-justified claim that "UNIX contains a numer
of features very seldom offered even by larger systems"
appears on page 1.
A little poking around tuhs.org didn't reveal a copy of
this document. Does anybody know of one somewhere else?
It has been updated again:
The origin of the name cron is from the Greek word for time, χρόνος (chronos). (Ken Thompson, author of cron, has confirmed this in a private communication with Brian Kernighan.)
So it would appear that if enough people bang on enough keyboards on the Wikipedia site, things can change.
While I was reading the article "A Research UNIX Reader: Annotated Excerpts
from the Programmer's Manual" from Douglas McIlroy, I learnt of a set of
utilities for designing electronic circuits. Here is a brief quote of this
"CDL (v7 pages 60-63)
Although most users do not encounter the UNIX Circuit Design System, it has long
stood as an important application in the lab. Originated by Sandy Fraser and
extended by Steve Bourne, Joe Condon, and Andrew Hume, UCDS handles circuits
expressed in a common design language, cdl. It includes programs to create
descriptions using interactive graphics, to lay out boards automatically, to
check circuits for consistency, to guide wire-wrap machines, to specify
combinational circuits and optimize them for programmed logic arrays (Chesson
and Thompson). Without UCDS, significant inventions like Datakit, the 5620 Blit
terminal, or the Belle chess machine would never have been built. UCDS appeared
in only one manual, v7."
I looked it up on the 7th Edition's Manual and I haven't found references of
this system. I also searched a v7 system image downloaded from TUHS and got no
results. However I got some references of this system in USENET archives. In
particular, two hierarchies, net.draw and after net.ucds were dedicated to it.
Apparently two of the binaries of the system were called "draw" and "wrap". I
also found a manual of a similar system which I suppose is the UCDS descendant
in the 1st Edition of Plan 9. This is the link of the document:
However that edition of Plan 9 is not publicly released and I could not find
it in following editions. But since v7 Unix is available, I hope it may
be possible to get hold of an older release at least.
Does anyone have any information?
Thank you in advance!
I was going through the old AUUG newsletters at
looking for wiki material. They are a mine of information!
I've sent an e-mail off to the UKUUG folk to see if they have any
on-line newsletters. Does anybody know what happened to EUUG, especialy
if any of their newsletters have been digitised?
And Usenix ;login, are any of their old newsletters available?
If not, who can I lobby to get this done? There's only 3 1/2 years
left before the 50th anniversary!
> From: Wolfgang Helbig
> The HALT instruction of the real PDP11 only stops the CPU
I have this bit set that on at least some models of the real machine, when
the CPU is halted, it does not do DMA grants? If so, on such machines, the
trick of depositing in the device registers directly would not work; the
device could not do the bus cycles to do the transfer to memory. Anyone know
for sure which models do service DMA requests while halted?
Something of a tangent:
In my early days with UNIX, one of the systems I helped look
after was an 11/45. Normally we booted it from an SMD disk
with a third-party RP-compatible contorller, for which we
had a boot ROM. Occasionally, however, we wanted to boot it
from RK05, usually to run diagnostics, occasionally for some
emergency reason (like the root file system being utterly
scrambled, or the time we ran that system, with UNIX, on a
single RK05 pack, for several days so our secretaries could
keep doing their troff work while the people who had broken
our air-conditioning system got it fixed--all other systems
in our small machine room had to stay shut down).
There was no boot ROM for the RK05, but it didn't matter:
one just did the following from the front-panel switches:
1. Halt/Enable to Halt
2. System reset (also sends a reset to the UNIBUS)
3. Load address 777404
4. Deposit 5.
(watch lights blink for a second or so)
5. Load address 0
6. Halt/Enable to Enable
777404 is the RK11's command register. 5 is a read command.
Resetting the system reset the RK11, which cleared all the
registers; in particular the word count, bus address, and
disk address registers. So when the 5 was deposited (including
the bit 01, the GO bit), the RK11 would read from address 0 on
the disk to address 0 in physical memory, then increment the
word-count register, and keep doing so until the word count
was zero after the increment. Or, in higher-level terms, read
the first 65536 words of the disk into the first 65536 words
Then starting at address 0 would start executing whatever code
was at the beginning of memory (read from the beginning of the
Only the first 256 words (512 bytes) of the disk was really
needed, of course, but it was harmless, faster, and easier to
remember if one just left the word-count at its initial zero,
so that is what we did.
The boot ROM for the SMD disk had a certain charm as well.
It was a quad-high UNIBUS card with a 16x16 array of diodes,
representing 16 words of memory. I forget whether one inserted
or removed a diode to make a bit one rather than zero.
It's too bad people don't get to do this sort of low-level stuff
these days; it gives one rather a good feel for what a bootstrap
does when one issues the command(s) oneself, or physically
programs the boot ROM.
Hi all, thanks for the wiki suggestions so far.
Does anybody have any lists of good Unix websites that I can add in to
the wiki at http://wiki.tuhs.org/doku.php?id=publications:websites
Also, any suggestions on how to organise the page, as I can see we will
end up with hundreds of links!
Someone off-list today asked about an annotated list of Unix papers which
might be good to add to the new wiki.
I've just uploaded my own short list of Unix papers, in BibTeX format, on
the wiki at:
If you have your own list of references in whatever format, could you
upload them into the wiki also?
Once you have registered and have write permissions, go to:
Media manager -> publications -> Upload. Select your file and upload.
The dokuwiki can deal with references in BibTeX format, I just don't know how
to do it yet. Once I do, I'll decorate links to papers with a reference.
Cheers & thanks, Warren
P.S I just uploaded some of the BSTJ papers into