User Tools

Site Tools


systems:pdp7_unix

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
systems:pdp7_unix [2015/12/30 00:09] wktsystems:pdp7_unix [2023/02/16 08:04] (current) admin
Line 3: Line 3:
 **Release Date:** Developed from mid-1969 to the end of 1970\\ **Release Date:** Developed from mid-1969 to the end of 1970\\
 **Released By:** Never released outside of Bell Labs\\ **Released By:** Never released outside of Bell Labs\\
-**Source Code: ** No longer exists\\ +**Source Code:** [[https://github.com/DoctorWkt/pdp7-unix|Reconstructed from original listings]]\\ 
-**Documentation: ** No longer exists+**Documentation:** [[https://github.com/DoctorWkt/pdp7-unix|Reconstructed from original listings]]
  
 Ken Thompson began the development of the system that was to become Unix, first as a file system on paper and then on a "little-used PDP-7" (Dennis Ritchie, [[https://www.bell-labs.com/usr/dmr/www/hist.html|The Evolution of the Unix Time-sharing System]]). Ken Thompson began the development of the system that was to become Unix, first as a file system on paper and then on a "little-used PDP-7" (Dennis Ritchie, [[https://www.bell-labs.com/usr/dmr/www/hist.html|The Evolution of the Unix Time-sharing System]]).
Line 10: Line 10:
 ===== Details from "The Evolution of Unix" ===== ===== Details from "The Evolution of Unix" =====
  
-Also during 1969, Thompson developed the game of `Space Travel.' First written on Multics, then transliterated into Fortran for GECOS (the operating system for the GE, later Honeywell, 635), it was nothing less than a simulation of the movement of the major bodies of the Solar System, with the player guiding a ship here and there, observing the scenery, and attempting to land on the various planets and moons. The GECOS version was unsatisfactory in two important respects: first, the display of the state of the game was jerky and hard to control because one had to type commands at it, and second, a game cost about $75 for CPU time on the big computer. It did not take long, therefore, for Thompson to find a little-used PDP-7 computer with an excellent display processor; the whole system was used as a Graphic-II terminal. He and I rewrote Space Travel to run on this machine. The undertaking was more ambitious than it might seem; because we disdained all existing software, we had to write a floating-point arithmetic package, the pointwise specification of the graphic characters for the display, and a debugging subsystem that continuously displayed the contents of typed-in locations in a corner of the screen. All this was written in assembly language for a cross-assembler that ran under GECOS and produced paper tapes to be carried to the PDP-7.+Also during 1969, Thompson developed the game of `Space Travel.' First written on [[https://www.multicians.org/|Multics]], then transliterated into Fortran for GECOS (the operating system for the GE, later Honeywell, 635), it was nothing less than a simulation of the movement of the major bodies of the Solar System, with the player guiding a ship here and there, observing the scenery, and attempting to land on the various planets and moons. The GECOS version was unsatisfactory in two important respects: first, the display of the state of the game was jerky and hard to control because one had to type commands at it, and second, a game cost about $75 for CPU time on the big computer. It did not take long, therefore, for Thompson to find a little-used PDP-7 computer with an excellent display processor; the whole system was used as a Graphic-II terminal. He and I rewrote Space Travel to run on this machine. The undertaking was more ambitious than it might seem; because we disdained all existing software, we had to write a floating-point arithmetic package, the pointwise specification of the graphic characters for the display, and a debugging subsystem that continuously displayed the contents of typed-in locations in a corner of the screen. All this was written in assembly language for a cross-assembler that ran under GECOS and produced paper tapes to be carried to the PDP-7.
  
 Space Travel, though it made a very attractive game, served mainly as an introduction to the clumsy technology of preparing programs for the PDP-7. Soon Thompson began implementing the paper file system (perhaps `chalk file system' would be more accurate) that had been designed earlier. A file system without a way to exercise it is a sterile proposition, so he proceeded to flesh it out with the other requirements for a working operating system, in particular the notion of processes. Then came a small set of user-level utilities: the means to copy, print, delete, and edit files, and of course a simple command interpreter (shell). Up to this time all the programs were written using GECOS and files were transferred to the PDP-7 on paper tape; but once an assembler was completed the system was able to support itself. Although it was not until well into 1970 that Brian Kernighan suggested the name `Unix,' in a somewhat treacherous pun on `Multics,' the operating system we know today was born. Space Travel, though it made a very attractive game, served mainly as an introduction to the clumsy technology of preparing programs for the PDP-7. Soon Thompson began implementing the paper file system (perhaps `chalk file system' would be more accurate) that had been designed earlier. A file system without a way to exercise it is a sterile proposition, so he proceeded to flesh it out with the other requirements for a working operating system, in particular the notion of processes. Then came a small set of user-level utilities: the means to copy, print, delete, and edit files, and of course a simple command interpreter (shell). Up to this time all the programs were written using GECOS and files were transferred to the PDP-7 on paper tape; but once an assembler was completed the system was able to support itself. Although it was not until well into 1970 that Brian Kernighan suggested the name `Unix,' in a somewhat treacherous pun on `Multics,' the operating system we know today was born.
Line 148: Line 148:
 ===== Extant PDP-7 Unix Source Code ===== ===== Extant PDP-7 Unix Source Code =====
  
-The only extant source code from the PDP-7 version of Unix appears to be the source code to the //dsw//  command that Dennis [[http://minnie.tuhs.org/pipermail/pups/1999-November/000139.html|posted on the net.unix-wizards]] Usenet newsgroup in 1984. He wrote:+For many years, the only extant source code from the PDP-7 version of Unix appeared to be the source code to the //dsw//  command that Dennis [[http://www.tuhs.org/pipermail/pups/1999-November/000139.html|posted on the net.unix-wizards]] Usenet newsgroup in 1984. He wrote:
  
 I happened to dredge up an old notebook and found a listing of the PDP-7 version of dsw. Because several people have approached me recently about reviving a version of PDP-7 Unix as a sort of paleontological exhibit, and because the subject has been discussed here, I thought people might be interested in seeing the code. I first considered net.sources, but decided not to carry whimsy too far. I happened to dredge up an old notebook and found a listing of the PDP-7 version of dsw. Because several people have approached me recently about reviving a version of PDP-7 Unix as a sort of paleontological exhibit, and because the subject has been discussed here, I thought people might be interested in seeing the code. I first considered net.sources, but decided not to carry whimsy too far.
Line 200: Line 200:
  
 In October 2009, Dennis sent Warren Toomey a private e-mail that said "In other news, I have found the book that has the [PDP-7] listings that I knew I had, that of (some) of the user-level commands. I wonder what's the best way to get it scanned?". Unfortunately, Dennis passed away before he could get the listings scanned in. In October 2009, Dennis sent Warren Toomey a private e-mail that said "In other news, I have found the book that has the [PDP-7] listings that I knew I had, that of (some) of the user-level commands. I wonder what's the best way to get it scanned?". Unfortunately, Dennis passed away before he could get the listings scanned in.
 +
 +In 2016, [[https://www.teach.cs.toronto.edu/~norman/pers/index.html|Norman Wilson]] discovered a set of paper copies PDP-7 Unix listings he had done while he worked at Bell Labs.  Warren Toomey organized [[https://github.com/DoctorWkt/pdp7-unix|a project to attempt to resurrect PDP-7 Unix]] with source code derived from scans of the listings.  The listings were partial, but there was enough to create a system that would boot and run.
 +
 +October 2019 saw another notebook of listings discovered (by Dennis Ritchie's heirs?).  Those were scanned, proofread and corrected, creating a more complete and original PDP-7 Unix.  A month later, the [[https://www.youtube.com/watch?v=pvaPaWyiuLA|Living Computer Museum bootstrapped the reconstructed operating system on renovated PDP-7 hardware]].
  
 ===== PDP-9 Unix ===== ===== PDP-9 Unix =====
  
-In several places, including the [[http://www.tuhs.org/Archive/Documentation/Papers/unix_cacm74.pdf|CACM paper]], there is mention made of Unix running on a PDP-9. Dennis Ritchie posted [[http://minnie.tuhs.org/pipermail/pups/2002-August/000529.html|a message on the PUPS mailing list]] in August 2002 which said:+In several places, including the [[http://www.tuhs.org/Archive/Documentation/Papers/unix_cacm74.pdf|CACM paper]], there is mention made of Unix running on a PDP-9. Dennis Ritchie posted [[http://www.tuhs.org/pipermail/pups/2002-August/000529.html|a message on the PUPS mailing list]] in August 2002 which said:
  
 The [PDP-]7, 9, 15 were very compatible.  I think the -15 had some scheme for using an index register, which the earlier ones didn't have, but it was otherwise pretty much identical in IS architecture. The [PDP-]7, 9, 15 were very compatible.  I think the -15 had some scheme for using an index register, which the earlier ones didn't have, but it was otherwise pretty much identical in IS architecture.
systems/pdp7_unix.1451394575.txt.gz · Last modified: 2015/12/30 00:09 by wkt