From mboxrd@z Thu Jan 1 00:00:00 1970 From: tim.newsham@gmail.com (Tim Newsham) Date: Tue, 13 Dec 2011 18:47:11 -1000 Subject: [TUHS] Provenance of the documents used to restore 1st Ed Unix In-Reply-To: <20111214035042.GA16236@minnie.tuhs.org> References: <20111214035042.GA16236@minnie.tuhs.org> Message-ID: 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 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