[TUHS] Provenance of the documents used to restore 1st Ed Unix

Tim Newsham tim.newsham at gmail.com
Wed Dec 14 14:47:11 AEST 2011

Awesome.. I remember trying to track him down earlier and
not getting very far.  You should add this tidbit to the
jun 72 tree!

On Tue, Dec 13, 2011 at 5:50 PM, Warren Toomey <wkt at tuhs.org> wrote:
> All, here's a special Christmas present, especially for those who
> helped out with the restoration of the 1st Ed Unix system, see
> http://code.google.com/p/unix-jun72/
> To do the restoration we needed a copy of the 1st Ed Unix kernel
> source code, and Al Kossow had found these two documents and
> scanned them in:
> http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v1/Kernel_Subroutine_Descriptions_Mar72.pdf
> http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v1/PreliminaryUnixImplementationDocument_Jun72.pdf
> At the time nobody could work out who had studied the kernel source code,
> why they had done it etc. Nor could we work out who Ted Bashkow was and
> why he was involved.
> After my IEEE Spectrum article I was contacted by Jim DeFelice to say
> thanks for the article. I recognised him as one of the people named in
> the above documents, and asked him about the kernel study. He has contacted
> some of the people involved and sent me the e-mail below, which gives
> a full description of the work!
> Before I get to it, just an aside. According to Berkley Tague,
> Ted Bashkow "was a visiting Professor for the summer some time around
> 1970 or 1971 and worked with me and others in research on various
> topics. I don't believe he contributed much to UNIX at that time, but
> was an early user of the early systems."
> Cheers,
>        Warren
>  [ Jim's story]
>    Here is as coherent a story as I can piece together  Let me know if you
>    have any more questions.
>    Jim.
>    The documents that describe the UNIX system as it was implemented on
>    the PDP-11/20
>    circa 1971 originated as a consequence of a project undertaken within
>    the comptrollers
>    department of the AT&T General Departments.  The project was titled the
>    Investment and Cost Information System (ICIS).  It was a major new
>    accounting system intended to track
>    detailed cost information for the operating telephone companies of the
>    Bell System.
>    ICIS was a major IBM mainframe based system which was being developed
>    in COBOL.
>    I transferred from Bell Labs in late 1970 to join Chuck Everhart who
>    preceded me from the Labs. In 1971 we were joined by Ron Silacci, Cathy
>    Judge, and later (early '72?) Jerry Conser all from Bell Labs.  We
>    formed the core of what would become
>    a much larger Development staff by 1973.
>    In preparation for a major development effort, we wanted to develop a
>    system to maintain the spate of expected ICIS specification and design
>    documents including graphics such as flowcharts.   We decided on the
>    PDP-11/20 with a Tecktronix T4002 graphics terminal as the hardware
>    platform for the development of our document maintenance system.
>    For obscure reasons, in order to purchase the PDP-11/20, the ICIS team
>    needed to get approval from the Bell Labs computer aquisition review
>    department headed
>    by Berkley Tague.  Berk made the approval for the purchase contingent
>    us agreeing to use UNIX as the operating system.First hearing of this
>    "UNIX" verbally, my mind was filled with scenes from the Arabian
>    Nights.  "Eunuchs" seemed a strange name for an operating system.
>    At the time, the only instances of UNIX were to be found in the hands
>    of the developers (Ken Thompson & Co.) at Murray Hill, NJ.  We
>    naturally asked for all the documentation.  We were told there was
>    none.  What we got was a source listing  of the PDP-11 assembly
>    language UNIX Kernel.  It was virtually without any commentary or
>    external description.  In order to proceed we undertook to reverse
>    engineer the listing in order to understand how to
>    modify UNIX to support the T4002.  To that end, in late 1971, we set up
>    shop at a Labs facility in Piscataway, NJ.   The team got occasional
>    hints and pointers from the UNIX developers at Murray Hill, but they
>    tended to be focussed on their own work (the C programmimg language,
>    troff, etc.).  Initial progress was slow, but as the overall design
>    structure emerged and the team became fluent with PDP assembly
>    language and the coding style of the UNIX developers things moved
>    along.  Early work was
>    done with paper and pencil resulting in the document named by you as
>    "Kernel Subroutine
>    Description...".  Once we took delivery of our PDP-11/20, we were able
>    to make
>    use of the UNIX tools "ed" and "roff" to create a more easily edited
>    digital document
>    "Preliminary UNIX Implementation Document"
>    The detailed timing of all this is uncertain. The hand work was done
>    from late 1971 through
>    March 1972 resulting in the Kernel Subroutine documentation.  Chuck
>    Everhart left AT&T
>    in late 1971 and I became the group supervisor. A draft of the machine
>    based Preliminary
>    Implementation document was completed by June 1972 per the date on my
>    cover letter for its first distribution.  By June 1972 there was
>    evidently a lot of interest in UNIX inside Bell Labs. The computer
>    commitee was pushing UNIX for all PDP based projects inside Bell Labs.
>    The ICIS owned PDP-11/20 was probably received after March 1972. The
>    hand written cover letter to Ted Bashkow is dated 4/3/72.  Once we had
>    use of the PDP-11 we would have entered our work directly. The
>    modifications for the T4002 are not dated in
>    your PDF version and do not appear in the original printout that I
>    still have.  I don't know why the date on all the printed pages is
>    3/17/72. Also, missing in the PDF version of the Preliminary
>    Implementation document that is in the paper version is a subroutine
>    cross reference listing that lists which subroutines are called by
>    which.
>    Regarding the authorship of the documents. Looking at the handwriting
>    it seems
>    at least four people contributed to the Kernel Subroutine document.
>    Myself and Ron
>    have actually reviewed the document and can claim authorship to
>    specific sections.  By sections:
>    J. DeFelice
>    H0_01, H0_02, H0_03,H0_04,H0_05, H2-11_sysexec call chain,
>    H2.4,H2_1.7,H2-8,
>    H2-9 H4-3, H5-1, H5-2, H5-3, H5-4, H5-7,
>    H7-1, H7-2, H7-4, H7-5,H7-6, H8-01.2, H8-02, H8-03, H8-05, H8-06,
>    H8-07,
>    H8-08, h8-09-00, h5-6
>    Ron Silacci
>    sysclose, syscreate, sysent, sysexit, sysfork, sysmdate, sysgetty,
>    sysmdir,
>    error, badsys, sysopen, sysret, sysrele, sysstty, syswait, read, write,
>    ani,
>    sysstat, sysgetuid, sysintr, syslink, sysseek, syssetuid, sysstat,
>    sysstime,
>    systime, sysquit, sysunlink, wdir, fclose, isdir, isown, maknod, mkdir,
>    getf,
>    seektell, sysbreak, syschdir, syschmod, syschown, clear, idle, putlu,
>    swap,
>    tswap, unpack, rswap, wswap, clock, isintr, retisp, sleepo, setisp,
>    tty0,
>    wakall, ttyi, wakeup, itrunc, imap, dskr, cpass, readi, canon, cesc,
>    ctty,
>    ttych, getspl, iclose, iopen, sysmount, sysumount, bread, bwrite,
>     dioreg, drum, preread, rtap, tape, tstdeve, trapt, rw1, intract, otty.
>    Unknown 1 (all caps)
>    H4_00, H4_01, H4_02, H4_2.1, H6_2.2, H6_3.0, H6_6, H7_0.0.4, H7_3.0,
>    H7_3.2
>    H7_3.3, H9_00.1, H9_01, H9_02, H9_03
>    Unknown 2
>    H0_06, H0_07, H2_0.2, H2_3,H2_4, H3_2, H3_4, H5_2.0, H5_2.1,H6_0.9,
>    H6_1.0,
>    H6_1, H6_2.0, H6_2.2, H6_3, H6_4, H8_09, H8_11
>    The two unknowns would be Jerry Conser and Cathy Judge.  I have not
>    been able to track
>    them down.
>    The comments in the listing were made by the people who authored the
>    corresponding man pages. We would comment the listing and as
>    understanding dawned write up the man page. I had a major hand in
>    Section F but can't claim sole responsibility.
>    The people listed in the recipients list in Ted Bashkow's cover letter
>    are the members of the computer aquisition department.  According to
>    Joe Maranzano:
>    "Ted Bashkow was a professor from Columbia who was on a 6-month
>    sabbatical in Berkley Tague's department.
>    The other names on the memo are:
>    Dan Clayton
>    David Copp
>    Gwen Hansen
>    Jossie Hintz
>    Ruth Klein
>    Jim Ludwig
>    Georgette Petit
>    Joe Ritacco
>    Berk Tague
>    Dan Vogel
>    Linda Wright
>    This was the composition of the Department in 1972 and most of us were
>    working on Computer Acquisition Reviews for
>    the Computer Centers. The Unix Support Group was formed in 1973."
>    By the time the Tecktronix application was developed, the ICIS
>    development project was ramping up.  The developers were using punch
>    cards for their Cobol programs.  It occurred to me that we could
>    utilize our UNIX system to eliminate punch cards which were difficult
>    to manage and instead enter and edit the Cobol code using "ed". My
>    management (rotated in from Bell Operating Companies) was not keen on
>    diverting resources towards
>    more tool building but I had enough autonomy to push through the
>    ordering of a PDP-11/45 and a DEC developed Bisync communications
>    interface card. This configuration allowed the UNIX system to emulate
>    an IBM card reader/printer.
>    The PDP11/45 had memory protection, which made committing all the
>    source code for a major project to UNIX thinkable. I did all the
>    development work on a bisync driver myself while my group attacked the
>    main IBM development. The resulting system worked well and over the
>    course of a few months all the die hard card rearder afficianados had
>    converted to the new system. This despite the occasional file system
>    crash.  At the time you could go in and edit i-nodes by hand to recover
>    lost files and directories. So with frequent tape backups for insurance
>    we never lost more that a few hours worth of work.
>    The Bell Labs UNIX support department (formed in 1973) eventually took
>    over the maintenance of the system and dubbed it the Programmers Work
>    Bench.  Other types of workbench were to follow.  I lost track of
>    developments in the UNIX world till I transferred back to Bell Labs in
>    1982. By then the UNIX support organization was an entire
>    Laboratory.  The hardware platform was the DEC VAX system, UNIX was
>    rewritten in C, and Berkely UNIX was a major competitor to the AT&T
>    version.  I still have the design and code for the Bisync driver if you
>    are interested.
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs

Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com

More information about the TUHS mailing list