home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
minnie.tuhs.org
/
unixen.tar
/
unixen
/
PDP-11
/
Distributions
/
research
/
1972_stuff
/
Readme
< prev
next >
Wrap
Text File
|
2008-12-15
|
8KB
|
167 lines
This directory doesn't contain a full distribution of UNIX, but it has a
bunch of stuff that Dennis Ritchie extracted from some old DECtapes at
the labs. Here are his notes.
s1-bits I haven't cracked this yet.
s2-bits Is not source, but a dump of (parts of) /bin, /etc,
/usr/lib, and bits of a few other directories.
Caution! The tape uses absolute pathnames,
and is dangerous to extract unless you want to install
old PDP-11 binaries. (tap format).
s1-bits tape
------------
s1-bits is possibly output from a dump program like 1st Edition rkd(1),
where the disk image was written `as is'. rkd(1) used to require nine
DECtapes, so s1-bits may be one of the middle ones. Although there is
substantial C and asm code on the tape (use strings(1) to see it), I
can't find filenames ending in .c or .s. This seems to imply that the
directory entries for the files are elsewhere, making it impossible to
recover the contents. However, it is possible to manually extract files,
such as the oldcp.c source file.
After a bit of manual eyeballing, I've extracted what I can from this
file, and placed the bits into s1-fragments.tar.gz
s2-bits tape
------------
The s2-bits tape is definitely recoverable, and both Dennis Ritchie and
Warren Toomey have done so. Dennis used a plug-in for Plan 9 to read the
tape. Warren used his Apout emulator and the real 1st Edition tap(1)
program to decode the archive.
The following list gives details of all the files in the s2-bits tap-format
archive. The first columns are a direct copy of a listing done with the
emulated 1st Edition tap(1) from the s2-bits tape.
The last column gives the file's modified timestamp (in decimal)
as recorded in the archive: I captured the smdate(2) argument in Apout
as tap(1) tried to extract the archive. This is in 1/60th second units.
The list is sorted by the TAP DATE column.
MODE UID SIZE TAPA DATE NAME TAP DATE
===============================================================
-rwrw 0 16448 538 Jan 1 00:33 /core 121912
-rwrw 10 54 529 Jan 1 00:52 /usr/x 188944
-rwrw 10 84 474 Jan 1 00:58 /usr/jack/x.f 209544
-rwrw 0 312 490 Jan 1 00:58 /usr/jack/x.o 210381
xrwrw 0 7514 475 Jan 1 00:58 /usr/jack/a.out 210836
-r-r- 1 1664 533 Jan 1 01:31 /tmp/etma 328795
-rwrw 1 670 530 Jan 1 01:33 /usr/ken/maki.s 336810
-rwr- 0 142 532 Jan 1 01:33 /tmp/utmp 337991
-rwrw 0 512 259 Jan 1 01:33 /etc/std0 338378
xrwrw 0 698 229 Jan 1 01:35 /bin/maki 344095
-rwrw 0 26 537 Jan 1 01:35 /tmp/ttmp 344821
-rwrw 0 16448 260 Jan 1 01:36 /usr/sys/core 347684
-rwr- 1 1928 298 Jan 1 01:36 /usr/sys/maki.s 348923
xrwrw 0 2192 293 Jan 1 01:37 /usr/sys/a.out 349375
xrwr- 3 1912 135 Jan 4 17:05 /bin/form 19243860
urwr- 0 3940 142 Jan 5 19:26 /bin/mail 24936840
xrwr- 1 2662 241 Jan 6 18:01 /etc/glob 29812654
xrwr- 1 186 240 Jan 6 18:01 /etc/msh 29812724
urwr- 0 784 50 Jan 17 17:46 /bin/mv 86785042
xrwr- 3 134 114 Jan 17 17:53 /bin/cat 86808907
xrwr- 3 82 25 Jan 17 17:53 /bin/chmod 86808926
xrwr- 3 420 93 Jan 17 17:53 /bin/cmp 86808947
xrwr- 3 160 48 Jan 17 17:53 /bin/cp 86808966
xrwr- 3 464 79 Jan 17 17:53 /bin/du 86809052
xrwr- 3 104 49 Jan 17 17:53 /bin/ln 86809162
xrwr- 3 2010 42 Jan 17 17:53 /bin/ls 86809182
xrwr- 3 154 126 Jan 17 17:53 /bin/mesg 86809205
xrwr- 3 70 121 Jan 17 17:53 /bin/rew 86809297
xrwr- 3 93 52 Jan 17 17:53 /bin/rm 86809316
xrwr- 3 1026 54 Jan 17 17:53 /bin/stat 86809356
xrwr- 3 80 125 Jan 17 17:53 /bin/tty 86809419
xrwr- 3 524 57 Jan 17 17:53 /bin/write 86809532
xrwr- 3 560 77 Jan 17 17:54 /bin/who 86813788
xrwr- 3 644 139 Jan 17 17:54 /bin/wc 86813793
xrwr- 3 750 164 Jan 17 17:54 /bin/skip 86813802
xrwr- 3 1166 115 Jan 17 17:54 /bin/pr 86813803
xrwr- 3 300 141 Jan 17 17:54 /bin/od 86813807
xrwr- 3 1844 159 Jan 17 17:56 /bin/if 86819396
xrwr- 3 1154 156 Jan 17 17:56 /bin/goto 86819398
xrwr- 3 276 163 Jan 17 17:56 /bin/exit 86819403
xrwr- 3 1054 153 Jan 17 17:56 /bin/echo 86819406
xrwr- 3 244 60 Jan 17 17:56 /bin/dsw 86819407
xrwr- 3 5922 80 Jan 17 17:56 /bin/bas 86819408
xrwr- 3 16 152 Jan 17 17:56 /bin/: 86819410
xrwr- 1 954 32 Jan 19 17:20 /bin/sh 97059255
xrwr- 3 2310 103 Jan 26 17:20 /bin/ar 133346922
xrwr- 3 1048 166 Jan 31 18:14 /bin/stty 159458885
xrwrw 6 2860 169 Mar 7 12:23 /bin/cal 339637168
-rwr- 3 2082 233 Mar 28 16:42 /etc/suftab 449432781
urwr- 0 1290 28 Mar 29 15:19 /bin/login 454317684
xrwr- 3 4066 95 Mar 29 16:42 /bin/db 454616955
xrwrw 3 76 94 Apr 6 19:42 /bin/chball 496735250
xrwrw 3 446 232 Apr 7 16:40 /etc/getty 501264829
xrwr- 3 6846 176 Apr 14 20:50 /bin/dc 538454712
urwr- 0 794 26 Apr 20 23:45 /bin/date 570186721
urwr- 0 746 190 May 3 22:54 /bin/su 637395674
xrwr- 3 3998 127 May 10 15:23 /bin/ed 672059949
xrwr- 3 330 213 May 27 00:21 /bin/find 756940137
xrwr- 3 480 59 May 27 00:21 /bin/strip 756940428
urwr- 1 872 211 May 27 00:26 /bin/ds 756957948
xrwr- 10 2730 192 May 27 23:37 /bin/fc 761966733
xrwrw 3 17092 346 Jun 6 21:26 /usr/lib/c1 813333853
-rwrw 0 3498 339 Jun 9 17:10 /usr/lib/bilib.a 827964344
-rwrw 0 6626 326 Jun 20 10:47 /usr/lib/libb.a 883611316
xrwr- 3 7582 214 Jun 30 17:45 /bin/as 936955268
xrwrw 3 5778 247 Jun 30 17:47 /etc/as2 936962166
xrwr- 3 238 118 Jun 30 18:37 /bin/un 937143109
-rwrw 0 12158 302 Jun 30 18:40 /usr/lib/liba.a 937154143
xrwr- 3 2942 108 Jun 30 19:26 /bin/ld 937319472
xrwr- 3 518 75 Jun 30 20:09 /bin/nm 937472871
xrwr- 3 1446 208 Jun 30 20:15 /bin/size 937496145
-rwrw 28 304 448 Jun 30 20:31 /usr/lib/fr0.o 937553564
-rwrw 28 12222 449 Jun 30 20:37 /usr/lib/filib.a 937573356
-rwrw 28 9158 419 Jun 30 20:46 /usr/lib/libf.a 937606048
-rwrw 0 108 473 Jun 30 21:11 /usr/lib/crt0.o 937696858
-rwrw 0 5242 437 Jun 30 21:20 /usr/lib/libc.a 937728015
xrwrw 3 19948 380 Jun 30 21:21 /usr/lib/c0 937734428
xrwrw 3 4672 198 Jun 30 21:53 /bin/cc 937848855
xrwr- 28 3462 491 Jul 1 16:35 /usr/fort/fc1 941888104
xrwr- 28 3238 498 Jul 1 16:35 /usr/fort/fc2 941888184
xrwr- 28 6840 505 Jul 1 16:35 /usr/fort/fc3 941888472
xrwr- 28 4918 519 Jul 1 16:35 /usr/fort/fc4 941888613
xrwrw 3 214 175 Jul 15 01:21 /bin/sum 1011175062
xrwr- 4 7154 61 Jul 21 12:42 /bin/roff 1044729738
urwr- 0 282 53 Sep 28 21:37 /bin/rmdir 1404349922
urwr- 0 232 31 Nov 6 21:42 /bin/mkdir 1606544287
urwr- 1 192 92 Nov 22 19:35 /bin/df 1689030995
urwr- 1 1084 122 Nov 22 19:35 /bin/check 1689030997
xrwr- 3 718 46 Nov 22 22:51 /bin/chown 1689737545
xrwr- 3 604 150 Nov 22 22:51 /bin/sort 1689737557
urwr- 1 790 119 Nov 26 14:24 /bin/tm 1708647263
urwr- 0 3678 34 Dec 31 04:08 /bin/tap 1887871165
-rw-- 1 221 239 Feb 6 14:35 /etc/passwd 2081934621
-rwr- 1 70 238 Feb 6 14:38 /etc/uids 2081948231
xrwr- 1 424 231 Feb 6 14:50 /etc/init 2081988977
Note that the tap timestamp of 2081988977 for /etc/init is approximately
13 months. Therefore, the February for the last 3 files is the one in
the year after all the other archive files.
The biggest problem here is to pin down the epoch for the files. In the
early version of UNIX, timestamps were in 1/60th second units. A 32-bit
counter using these units overflows in 2.5 years, so the epoch had to
be changed periodically, and I believe 1970, 1971, 1972 and 1973 were
all epochs at one stage or another.
Given that the C compiler passes, and the library, are dated in June
of the epoch year, and that Dennis has said ``1972-73 were the truly
formative years in the development of the C language'', it's therefore
unlikely that the epoch for the s2 tape is 1971: it is more likely to
be 1972. The tape also contains several 1st Edition a.out binaries,
which also makes it unlikely to be 1973.
Therefore, Warren's decoding of the s2-bits file, in s2-bits.tar.gz,
uses 1972 as the epoch. However, Dennis decoding in s2.tar.gz uses 1973.
Finally, the date(1) a.out on the tape uses 1971 as its archive. How annoying!
After a bit of discussion, Dennis and Warren have agreed that 1972 is the
most probable epoch for s2-bits.