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 revision Previous revision
Next revision
Previous revision
systems:pdp7_unix [2015/12/30 00:09]
wkt
systems:pdp7_unix [2019/12/01 13:34] (current)
frank [PDP-7 Unix]
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://​minnie.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 =====
systems/pdp7_unix.1451394575.txt.gz · Last modified: 2015/12/30 00:09 by wkt