From mh3bcl!research!wild!andrew:mulga Fri Dec 2 08:466:05 1983
Subject: Unix edition one
To: auugn

This is the first in a series of notes on the early editions of Unix.
They are random remarks on what interested me in reading the programmer's
manuals for the various editions of Unix. These notes are not proprietary
and will be produced at random times.

EDITION ONE: (November 1971)
----------------------------

1)	the 'tm' command was analogous to the `time command. If invoked with
	arguments, it executed the command and gave the times used during that
	command. If invoked without arguments, it gave two columns of numbers:
	the times since boot, and the times since the last `tm' command.

	The categories of times were:
			"tim"	(real time)	    hrs:mins:secs
			"ovh"	(time in sys)	        ditto
			"dsk"	(waiting for disk)      ditto
			"idl"	(idle time)		ditto
			"usr"	(user time)
			"der"	(RK disk error count!!)
	The second column was given with one decimal place in units of seconds.

2)	the `time' system call returned the number of sixtieth of seconds since
	Jan 1, 1971. This is different because the maximum time was about 2.5
	years.

3)	file names were limited to 8 bytes; accordingly directory entries were
	10 bytes long.

4)	the permission bits were quite different:
		01	write, non-owner
		02	read, non-owner
		04	write, owner
		10	read, owner
		20	executable
		40	set user id on execution

5)	userid - username mapping was kept in /etc/uids.
_____________________________

that's all folks! I would welcome any feedback or questions!
andrew


From mh3bcl!research!wild!andrew:mulga Wed Feb 15 11:45:09 1984
Subject: edition 2
To: auugn:elecvax
Some random comments on Unix, 2nd edition, June 12 , 1972.

The list of authors has grown. It now includes Thompson, Ritchie, Ossana
Morris, McIlroy, McMahon, Lorinda Cherry and Roberts.
The manual was done with ~ed' and 'roff' (as was the first).

1) cc only has one option (-c)!!

2) the bugs section for dsw reads:
	'The name "dsw" is a carryover from the ancient past. Its etymology
	is amusing but the name is nonetheless ill-advised.'

3) find(1) takes file names or inode numbers and prints pwds of all matches.

4) pr(l) takes only 3 options (l==78 lines, c==current date, m=-modify date)

5) ls(1) takes five (ltasd)

6) sort has no options!!
7) there is a cemt(2) system call to catch EMT traps.
8) there is a hog(2) system call (somewhat equivalent to nice(20))

9) catching interrupts is done by intr(2). The bugs reads
	'It should be easier to resume after an interrupt but I don't
	know how to make it work.'

10) setting the modified date on a file is done by mdate(2)
11) sleep(2) sleeps for n/60 seconds. The bugs reads
	'Due to the implementation the sleep interval is only accurate to
	256/60 (4.26) seconds. Even then, the process is placed on a low
	priority queue and must be scheduled.'

12) qsort(3) uses its own comparison routine

13) the switch statement in C was supplied as a library function.
	(C was just starting)
------------------
andrew