Difference between revisions of "UNIX Third Edition"

From Computer History Wiki
Jump to: navigation, search
m (External links: +TUHS wiki link)
(Mention archaeology without kernel source)
 
Line 10: Line 10:
 
}}
 
}}
  
'''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]]. The [[source code]] for the [[kernel]] has been completely lost, so it is not possible to make authoritative, detailed, statements about it; but documentation, and source for some commands still exists, which allows technological archaeologists to draw some conclusions about it.
  
 
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.
 
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.
Line 16: Line 16:
 
(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)])
 
(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)])
+
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)])
+
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 (VIII)])
  
 
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).
Line 24: Line 24:
 
==Source==
 
==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]]).
+
As mentioned, 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.
 
The 'cmd' directory at TUHS allegedly for [[UNIX Second Edition|V2]] (below) actually seems to be for V3.

Latest revision as of 03:58, 20 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. The source code for the kernel has been completely lost, so it is not possible to make authoritative, detailed, statements about it; but documentation, and source for some commands still exists, which allows technological archaeologists to draw some conclusions about it.

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 (VIII))

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

As mentioned, 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