this is meant to be a tutorial and/or tips 'n tricks for the hysterical unixes on https://unix50.org.
Available instances are:
[a] UNICS (Version Zero) PDP-7 Summer 1969 [b] First Edition UNIX PDP-11/20 November 1971 [c] Fifth Edition UNIX PDP-11/40 June 1974 [d] Sixth Edition UNIX PDP-11/45 May 1975 [e] Seventh Edition UNIX PDP-11/70 January 1979 [f] Research UNIX 8 VAX-11/780 1981 [g] AT&T UNIX System III PDP-11/70 Fall 1982 [h] AT&T UNIX System V PDP-11/70 1983 [i] AT&T UNIX System V 3b2/400 1984 [j] 4.3 BSD MicroVAX June 1986 [k] 2.11 BSD PDP-11/70 January 1992
1969 – 50 Years of Unix – 2019 |
1987 – 32 Years of SDF – 2019 |
For the double celebration of the 50th anniversary of the creation of the Unix operating system and the 32nd anniversary of the establishment of the SDF Public Access Unix system, a collection of simulated historical Unix systems has been prepared for your exploration and entertainment.
You can connect to the systems from the web page: https://unix50.org
.
If you have a MetaArray account, you can also access the historical systems by logging in and entering the following shell command: unix50th
The rest of this documents consists of notes and command “cheat sheets” to help new users on each of the historical systems. It is assumed the reader is already somewhat familiar with contemporary Unix-like systems.
command | Command name or other fixed syntax;enter as-is. |
place-holder | Place-holder for user-supplied value. |
[item] | item is optional. |
item … | item may be repreated one or more times. |
Release: Summer 1969 |
Platform: PDP-7 |
The operating system hacked together so Ken Thompson could play Space Travel after Bell Labs withdrew from the Multics Project. The new operating system was named as a parody of “Multics”.
This version of the operating system has a file system, a shell, a text editor, an assembler, and very little else.
ken writes
here is sme stuff.. adm and apr submit jobs to the central batch processing machine (ge-635 gcos) i only remember a command to submit a print job. the pdp-7 had no printer. actually, there was a newer print job that got the printing done by rejecting the batch job for some trivial syntax error. printing would cost. job rejection was free. sys save generated a core file that, when executed, would continue after the sys save. it was used for breakpointing long jobs and for jobs that had a lot of initialization so they would start up faster. a note; this unix did not have a hierarchical file system. there were only a fixed number of directories. each was linked to by the directory directory dd. to get to another directory, you did chdir dd chdir dir but the chdir command would take multiple arguments so the above is chdir dd dir if you ever unlinked your link to dd, you would be cut off. later dd became .. meaning up. one could not reference a file in another directory directly. thus you had to link to it by a local name and then reference through the local name. this link; sys; x; y made a local link y to the file x in directory sys referenced off of dd. does that clear up some of the naming confusion. i will work on some of the other stuff you mention. some of it sends gravity waves through the cobwebs, but nothing specific. ken
Logging on to the ken
or dmr
account - password is the same as the username
Yeah, remember you're on an ASR33 Teletype - you can only go forward!
There is no concept of filesystem paths or '..' in Unics 0. It is also important to note that 'dd' is a Multicism and stands for the “Directory Directory”. This concept will become '/' or 'root' in Version 1 UNIX. The shell searches two locations: 'system' and '.' However, '.' must be linked with the following command:
(You'll need to do this for the next example)
Now you can type ls and see the contents of the directory
@ cat hello.b main $( write('He'); write('ll'); write('o,'); write(' W'); write('or'); write('ld'); write(!*n'); $)
@ a.out Hello, World!
For the UNIX 50th on 10-Jul-2019 SDF held a B Language challenge on the DEC PDP-7 running UNIX Version 0 under simh. A herd of hackers gave it a go over the course of 2 hours and in the end there were 4 that put in best efforts:
Karl's effort implements a somewhat ROT1 and was the only working example of TTY IO. The code follows:
main $( auto c; while (1) $( c = read(); write(c + 1); flush(); $) $) supersat) // gplv3 lol // karl koscher
The winner was awarded a handsome ASVEL UNIX WARE™ Japanese write storage container and a delicious bag of Tamanishiki Premium Short Grain Rice
Release: November 1971 |
Platform: PDP-11/20 |
Release: June 1974 |
Platform: PDP-11/40 |
Release: May 1975 |
Platform: PDP-11/45 |
Release: January 1979 |
Platform: PDP-11/70 |
Release: 1981 |
Platform: VAX-11/780 |
Release: Fall 1982 |
Platform: PDP-11/70 |
Release: 1983 |
Platform: PDP-11/70 |
Release: 1984 |
Platform: 3b2/400 |
Release: June 1986 |
Platform: MicroVAX3900 |
Release: January 1992 |
Platform: PDP-11/70 |
By issuing the sac -nar
command, your spirit animal will be changed to the narwhal.
10 PRINT "DO YOU EAT BOOGERS?" 20 INPUT X 30 IF X="YES" THEN PRINT "YOU'RE A GOOD MAN, CHARLIE BROWN.": END 40 IF X="NO" THEN PRINT "WHAT, YOU THINK YOU'RE BETTER THAN ME?"
$ finger man@arms Login: man Name: Duncan Directory: /eternia/heroic_warriors/man Shell: /bin/bashasaurus No mail. Plan: Make Orko clean-up the mess he left in my workshop.
Do not forget to flush the buffer. If you do, the smell will be intolerable.
The Honeywell 6080 can be induced to perform a samba by pressing the button labeled “Samba” on the operator's console1. That mainframe's forté, however, is the foxtrot2, but the inducement of that particular step is beyond the scope of this tutorial.
1) Zurgone Vemliat, Mainframe Dancing Habits (Milwaukie: Brewers' Press, 1988), 96. 2) Vemliat, Mainframe, 112.
$Id: unix50th.html,v 1.12 2019/07/12 15:52:37 smj Exp $1 -+- H Y S T E R I C A L -+- U N I X E S -+- - traditional link (using RCS)
1 Replicated from the unix50th.html,v 1.12 2019/07/12 text.