Very old, but precious UNIX documentation from the 1970`s. These would be very interesting reading for someone interested in UNIX.
1972 UNIX programming manual.
https://www.tuhs.org//Archive/Distributions/Research/1972_stuff/unix_2nd_edition_manual.pdf.
Tmg compiler-writing language manual.
https://www.tuhs.org//Archive/Distributions/Research/1972_stuff/tmg.pdf.
UNIX Programmers manual November 1971.
https://www.tuhs.org//Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf.
UNIX Kernel Subroutine Descriptions March 1972.
Intro on how manual pages are laid out in UNIX. 1971.
https://www.tuhs.org//Archive/Distributions/Research/Dennis_v1/manintro.pdf.
Setting Up Unix – Seventh Edition. Setup documentation for installing UNIX.
https://www.tuhs.org//Archive/Distributions/Research/Documentation/v7_setup.html.
What is UNIX? This documentation explains what UNIX really is and what it can do for you.
https://www.tuhs.org//Archive/Distributions/Research/McIlroy_v0/UnixEditionZero.pdf.
PDP-7 and PDP-9 to data-phone interface explained.
https://www.tuhs.org//Archive/Distributions/Research/McIlroy_v0/02-hw.pdf.
Version 7 kernel source code. This would be fascinating for a UNIX researcher.
https://www.tuhs.org//Archive/Distributions/Research/Nijmegen_v7/.
All of this documentation is well worth downloading and reading for any UNIX researcher, who is interested in very old UNIX code and functionality. This is from a time when real men used time sharing systems and serial terminals. Not the fancy 1080p screens, Nvidia cards and terabyte HDD storage we have today.
There is also a very old 70`s copy of the UNIX cp utility as source code.
https://www.tuhs.org/Archive/Distributions/Research/1972_stuff/oldcp.c.
But I could not get this to compile on a modern Linux.
ason@Yog-Sothoth » Documents » $ gcc oldcp.c oldcp.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int] main(argc,argv) ^~~~ oldcp.c: In function ‘main’: oldcp.c:1:1: warning: type of ‘argc’ defaults to ‘int’ [-Wimplicit-int] oldcp.c:9:17: warning: implicit declaration of function ‘write’ [-Wimplicit-function-declaration] write(1,"Usage: cp oldfile newfile\n",26); ^~~~~ oldcp.c:10:17: warning: implicit declaration of function ‘exit’ [-Wimplicit-function-declaration] exit(); ^~~~ oldcp.c:10:17: warning: incompatible implicit declaration of built-in function ‘exit’ oldcp.c:10:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ oldcp.c:10:17: error: too few arguments to function ‘exit’ oldcp.c:12:20: warning: implicit declaration of function ‘open’ [-Wimplicit-function-declaration] if((fold = open(argv[1],0)) < 0){ ^~~~ oldcp.c:14:17: warning: incompatible implicit declaration of built-in function ‘exit’ exit(); ^~~~ oldcp.c:14:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ oldcp.c:14:17: error: too few arguments to function ‘exit’ oldcp.c:16:9: warning: implicit declaration of function ‘fstat’ [-Wimplicit-function-declaration] fstat(fold,buf); ^~~~~ oldcp.c:18:20: warning: implicit declaration of function ‘creat’ [-Wimplicit-function-declaration] if((fnew = creat(argv[2],mode)) < 0){ ^~~~~ oldcp.c:19:17: warning: implicit declaration of function ‘stat’ [-Wimplicit-function-declaration] stat(argv[2], buf); ^~~~ oldcp.c:32:33: warning: incompatible implicit declaration of built-in function ‘exit’ exit(); ^~~~ oldcp.c:32:33: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ oldcp.c:32:33: error: too few arguments to function ‘exit’ oldcp.c:36:17: warning: incompatible implicit declaration of built-in function ‘exit’ exit(); ^~~~ oldcp.c:36:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ oldcp.c:36:17: error: too few arguments to function ‘exit’ oldcp.c:39:19: warning: implicit declaration of function ‘read’ [-Wimplicit-function-declaration] while(n = read(fold, buf, 512)) ^~~~ oldcp.c:42:17: warning: incompatible implicit declaration of built-in function ‘exit’ exit(); ^~~~ oldcp.c:42:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ oldcp.c:42:17: error: too few arguments to function ‘exit’ oldcp.c:46:25: warning: incompatible implicit declaration of built-in function ‘exit’ exit(); ^~~~ oldcp.c:46:25: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ oldcp.c:46:25: error: too few arguments to function ‘exit’ oldcp.c:49:9: warning: incompatible implicit declaration of built-in function ‘exit’ exit(); ^~~~ oldcp.c:49:9: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ oldcp.c:49:9: error: too few arguments to function ‘exit’
So better to install an old UNIX and compile it on there instead.