[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