Difference between revisions of "UNIX Third Edition"

From Computer History Wiki
Jump to: navigation, search
(V3 had simpler mem mgmt than V4)
(Add my archaeology)
Line 12: Line 12:
 
'''UNIX Third Edition''' (often referred to as '''UNIX V3''' or '''V3 UNIX''' - 'Unix' was still normally given in all capital letters at this point in time) was a significant early version of [[UNIX]]. It was the version in which [[pipe]]s appeared, and the last version in which the [[kernel]] was written in [[assembly language]].
 
'''UNIX Third Edition''' (often referred to as '''UNIX V3''' or '''V3 UNIX''' - 'Unix' was still normally given in all capital letters at this point in time) was a significant early version of [[UNIX]]. It was the version in which [[pipe]]s appeared, and the last version in which the [[kernel]] was written in [[assembly language]].
  
It ran on the the [[PDP-11/45]], but the [[PDP-11/20]] model of the PDP-11 was apparently still supported (whether without the [[KS11 Memory Protection and Relocation option|KS11]] is unknown). The [[memory management]] mechanisms were more limited than those that came in with [[UNIX Fourth Edition]]. ("In the future the text segment will be write-protected and shared." ([http://squoze.net/UNIX/v3man/man5/a.out a.out (V)])).
+
V3 seems to have run on the [[PDP-11/45]] model of the PDP-11:  "it depends on what hardware is present ([[KE11-A Extended Arithmetic Element|EAE]], [[FP11-B Floating-Point Processor|floating-point option]])". ([http://squoze.net/UNIX/v3man/man5/core core(V)]) The "floating-point option" would only have been on the -11/45.
 +
 
 +
(And we thus see that V3 still ran on [[PDP-11/20]] model of the PDP-11; the -11/45 would not have had an EAE, since all the EAE operations - except [[normalization]], but that's only needed for [[floating-point]] - were in the basic -11/45. Whether the -11/20 was still supported without the [[KS11 Memory Protection and Relocation option|KS11]] is unknown; as late as V3, there were apparently still UNIX machines without [[memory management]] hardware: "The purpose of this command is to simplify the preparation of object programs for systems which have no relocation hardware." ([http://squoze.net/UNIX/v3man/man1/reloc reloc (I)])
 +
 
 +
Probably the protection and relocation provided to UNIX processes on the 11/45 under V3 were very similar to that provided with the KS11, although the memory management mechanisms were more limited than those that came in with [[UNIX Fourth Edition]]: "In the future the text segment will be write-protected and shared." ([http://squoze.net/UNIX/v3man/man5/a.out a.out (V)])
 +
 
 +
However, it was keeping multiple processes in main memory at the same time: "only processes whose core images are on disk have visible names". ([http://squoze.net/UNIX/v3man/man8/ps ps (III)])
  
 
The [[file system]] apparently identical to the one in [[UNIX Second  Edition]]; i.e. almost identical to the [[UNIX file system|V6 one]]: the only major differences from the latter being that i) the free blocks are stored as a bit [[array]], rather than a linked [[list]], and ii) [[peripheral|device]] 'special files' are indicated by [[inode]] numbers below 41. (not via a flag in the 'mode' word in the inode, as later).
 
The [[file system]] apparently identical to the one in [[UNIX Second  Edition]]; i.e. almost identical to the [[UNIX file system|V6 one]]: the only major differences from the latter being that i) the free blocks are stored as a bit [[array]], rather than a linked [[list]], and ii) [[peripheral|device]] 'special files' are indicated by [[inode]] numbers below 41. (not via a flag in the 'mode' word in the inode, as later).
 +
 +
==Source==
  
 
A complete copy of Third Edition does not seem to be extant. [[The Unix Heritage Society|TUHS]] has a copy of the 'UNIX Programmer's Manual Third Edition', and the [[source code]] for an early version of the first [[C programming language|C]] [[compiler]] (C was just being defined at the point in time, although it first appeared in [[UNIX Second Edition]]).
 
A complete copy of Third Edition does not seem to be extant. [[The Unix Heritage Society|TUHS]] has a copy of the 'UNIX Programmer's Manual Third Edition', and the [[source code]] for an early version of the first [[C programming language|C]] [[compiler]] (C was just being defined at the point in time, although it first appeared in [[UNIX Second Edition]]).
 +
 +
The 'cmd' directory at TUHS allegedly for [[UNIX Second Edition|V2]] (below) actually seems to be for V3.
  
 
==External links==
 
==External links==
  
 
* [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3 V3] - file tree at TUHS
 
* [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3 V3] - file tree at TUHS
 +
** [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V2/cmd cmd] - not really V2, as it claims
 +
* [https://www.tuhs.org/Archive/Distributions/Research/1972_stuff 1972 stuff] - the source for the above
 +
** [https://www.tuhs.org/Archive/Distributions/Research/1972_stuff/Readme Readme] - a discussion of what's there
 
** [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man0/intro UNIX Programmer's Manual Third Edition - Introduction]
 
** [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man0/intro UNIX Programmer's Manual Third Edition - Introduction]
 
** [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man5/fs.5 File system]
 
** [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man5/fs.5 File system]

Revision as of 19:40, 18 October 2023


Unix V3
Type: Multi-tasking, multi-user
Creator: AT&T/Western Electric
Architecture: PDP-11
Previous Version: V2
This Version: V3
Next Version: V4
Date Released: February, 1973


UNIX Third Edition (often referred to as UNIX V3 or V3 UNIX - 'Unix' was still normally given in all capital letters at this point in time) was a significant early version of UNIX. It was the version in which pipes appeared, and the last version in which the kernel was written in assembly language.

V3 seems to have run on the PDP-11/45 model of the PDP-11: "it depends on what hardware is present (EAE, floating-point option)". (core(V)) The "floating-point option" would only have been on the -11/45.

(And we thus see that V3 still ran on PDP-11/20 model of the PDP-11; the -11/45 would not have had an EAE, since all the EAE operations - except normalization, but that's only needed for floating-point - were in the basic -11/45. Whether the -11/20 was still supported without the KS11 is unknown; as late as V3, there were apparently still UNIX machines without memory management hardware: "The purpose of this command is to simplify the preparation of object programs for systems which have no relocation hardware." (reloc (I))

Probably the protection and relocation provided to UNIX processes on the 11/45 under V3 were very similar to that provided with the KS11, although the memory management mechanisms were more limited than those that came in with UNIX Fourth Edition: "In the future the text segment will be write-protected and shared." (a.out (V))

However, it was keeping multiple processes in main memory at the same time: "only processes whose core images are on disk have visible names". (ps (III))

The file system apparently identical to the one in UNIX Second Edition; i.e. almost identical to the V6 one: the only major differences from the latter being that i) the free blocks are stored as a bit array, rather than a linked list, and ii) device 'special files' are indicated by inode numbers below 41. (not via a flag in the 'mode' word in the inode, as later).

Source

A complete copy of Third Edition does not seem to be extant. TUHS has a copy of the 'UNIX Programmer's Manual Third Edition', and the source code for an early version of the first C compiler (C was just being defined at the point in time, although it first appeared in UNIX Second Edition).

The 'cmd' directory at TUHS allegedly for V2 (below) actually seems to be for V3.

External links