Posted: . At: 11:13 AM. This was 6 years ago. Post ID: 12285
Page permalink. WordPress uses cookies, or tiny pieces of information stored on your computer, to verify who you are. There are cookies for logged in users and for commenters.
These cookies expire two weeks after they are set.


Very old but interesting UNIX and Linux documentation.


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.

https://www.tuhs.org//Archive/Distributions/Research/Dennis_v1/Kernel_Subroutine_Descriptions_Mar72.pdf.

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 ‘exitoldcp.c:10:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exitoldcp.c:10:17: error: too few arguments to function ‘exitoldcp.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 ‘exitexit();
                 ^~~~
oldcp.c:14:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exitoldcp.c:14:17: error: too few arguments to function ‘exitoldcp.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 ‘exitexit();
                                 ^~~~
oldcp.c:32:33: note: include ‘<stdlib.h>’ or provide a declaration of ‘exitoldcp.c:32:33: error: too few arguments to function ‘exitoldcp.c:36:17: warning: incompatible implicit declaration of built-in function ‘exitexit();
                 ^~~~
oldcp.c:36:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exitoldcp.c:36:17: error: too few arguments to function ‘exitoldcp.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 ‘exitexit();
                 ^~~~
oldcp.c:42:17: note: include ‘<stdlib.h>’ or provide a declaration of ‘exitoldcp.c:42:17: error: too few arguments to function ‘exitoldcp.c:46:25: warning: incompatible implicit declaration of built-in function ‘exitexit();
                         ^~~~
oldcp.c:46:25: note: include ‘<stdlib.h>’ or provide a declaration of ‘exitoldcp.c:46:25: error: too few arguments to function ‘exitoldcp.c:49:9: warning: incompatible implicit declaration of built-in function ‘exitexit();
         ^~~~
oldcp.c:49:9: note: include ‘<stdlib.h>’ or provide a declaration of ‘exitoldcp.c:49:9: error: too few arguments to function ‘exit

So better to install an old UNIX and compile it on there instead.


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.