A short history of UNIX by l.madden@ic.ac.uk

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers A short history of UNIX by l.madden@ic.ac.uk
# 1  
Old 09-20-2000

<h1>A short history of UNIX</h1>

<p>In the late 1960's Ken Thompsom joined the computing-science research group at Bell
Laboratories, which is the research arm of the giant American corporation ATT. He and many
colleagues had been collaborating with MIT and GE on the development of an operating
system called Multics which aimed to improve the performance of multi-user time-sharing
computer systems. But the resultant system was too big and too slow, so Bell lab's
withdrew leaving the computing science group without a computer. </p>

<p>A cast-off PDP-7 computer became available, so that Thompsom set about rewriting a
planetary motion simulation program previously implemented on the GE system. At the same
time he experimented with many of the concepts used for Multics, working in PDP-7
assembler he developed a hierarchical filestore, a number of utility programs and central
supervisory program (known as the kernel) which together made up a rudimentary single-user
operating system. He called it UNIX, a poor pun on uni-MULTICS i.e. single-user MULTICS or
was it a pun on eunuch version of MULTICS ? </p>

<p>Thompson's system found favour with his colleagues in the Bell labs computer science
department because it made software development work easier. Some text and processing
utilities were added to the system, which were used by the legal department and earned the
developers enough funds to obtain a PDP-11 a more reliable and modern system. The 16-bit
PDP-11 became the second UNIX port, and enabled multi-user facilities because of the
memory management hardware. </p>

<p>One of Thompson's colleagues was Dennis Ritchie who had been impressed with the BCPL
language developed at the University of Cambridge, which he used as a template for a
language he designed called B. This language developed into C which begged the question
what would the next language be called would it be D ?, or would it be P?. The answer we
now know is C++. </p>

<p>The language C was then used to completely rewrite UNIX apart from a few hundred lines
of assembler code. This enabled the first port of UNIX onto a non-DEC computer, a 32-bit
INTERDATA 8/32 minicomputer system (with a similar architecture to the IBM 370) and
highlighted some of the more non-portable aspects of the system</p>

<p>The combination of a environment designed for program development and the use of
high-level language to code systems software greatly enhanced the possibility of a single
programmer understanding the workings of a multi-user multiprogramming system. Thus UNIX
flourished within BELL labs and they made public Version 6 which ran on the PDP-11 range
and was licensed to universities without any support, but with all the source code for the
media cost. Commercial organisations could obtain UNIX for about 20,000 pounds.
Surprisingly some did!. Version 6 was still small enough to appear on micro-processor
systems (e.g. Z80, Motorola 6809, Intel 8085 etc...) as well as a variety of mini and
main-frame systems. Other companies like Whitesmiths consolidated around V6 (IDRIS)
because of its small size made it suitable for smaller real-time control applications,
whilst others like Motorola opted for choosing the best ideas (OS9) but not attempting
UNIX compatibility.</p>

<p>By Version 7 UNIX had developed and matured into a relatively bug-free product which
ran on many different types of processor. Bell labs were using UNIX extensively without
any central support, nor could the parent company ATT provide support, because of American
law. This opened the door for the University of Berkeley (BSD) to become prominent in the
field as an advocate of UNIX and also offer software support and useful extensions to the
system especially after Ken Thompsom spent a couple of years there as a visiting
professor. The more useful advances (e.g. TCP/IP) have been duplicated on the ATT
versions. As a result of commercial pressure ATT changed their licensing agreement which
enabled many OEM's (e.g. MICROSOFT and XENIX) to bring out re-writes as well as offering
the infra-structure expected of a mature software product, i.e. good documentation,
training, consultancy services, software support etc... </p>

<p>At this point in time there was an explosion of apparently different proprietary
versions of UNIX but they were united by the use of <i>IX</i> in the name, they paid
royalties to AT&T and that their extensions to v7 were (they said) the best thing
since sliced bread!</p>

<p>The plethora of UNIX's was compounded after ATT was deregularised in the early eighties
and subsequently developed and supported SYSTEM III UNIX by adding the best of the
variations to V7 UNIX.This evolved to SYSTEM V which added improved performance and
networking facilities such as RFS. SYSTEM V Revision 4 (SVR4) is the basis of the X/OPEN
standard and is being promoted by ATT as THE standard. </p>

<p>Thus from these humble beginnings there were 2 distinct branches of the tree currently
coexisting (3 if you count XENIX), with either branch tracking developments on the other.
This confusion over what is to be called UNIX led to the IEEE defining the standard called
POSIX and at last lead to a convergence from the divergent UNIX developments of the past.
POSIX has been accepted by the E.E.C. and many others as the operating system for the
future. </p>

<p>The IEEE/ISO (i.e. neutral) POSIX (Portable Operating System) standard is the
intersection of the kernel services (not the union) provided by both the BSD and SVR4
which in effect corresponds to version 7. It has added BSD signals and terminal handling
which is new. In fact since POSIX translates POSIX compliant calls to the calls of the
target operating system, it can appear on any platform, and hence appears on non-UNIX
systems like DEC-OpenVMS and Microsoft Windows NT. Ironically, any Operating System can be
rewritten using POSIX calls at the source code level, thus a user can continue to use
their favourite Operating System (which does not have to be UNIX) whilst the programmer
has an easier task of achieving portability. All the major workstation vendors have
accepted POSIX 1003.1 for their UNIX implementations thus providing source code
portability. Hence, if UNIX is not the operating system of the future, then the operating
system that is, will have been inspired by UNIX and will probably look a lot like UNIX.</p>

	 1003.0         Guide and overview
	 1003.1         Library functions i.e. kernel calls
	 1003.2         Shell and utilities
	 1003.3         Test methods and conformance
	 1003.4         Real time extensions
	 1003.5         Ada language bindings
	 1003.6         Security extensions
	 1003.7         System administration
	 1003.8         Transparent file access
	 1003.9         Fortran-77 bindings
	 1003.10        Supercomputing

<p>Just when it looked like peace might break out a group of vendors (i.e. DEC, IBM, HP et
al) who were concerned about paying AT&T royalties and that AT&T controlled the
development of UNIX, created a consortium known as OSF (Open Software Foundation). The OSF
members agreed to produce a POSIX compliant UNIX rewrite (called OSF/2) plus a windowing
system (X11), a graphical user interface (MOTIF), distributed computing (DCE), distributed
management (DME) and other features. At first AT&T and Sun were expected to join, but
instead they formed there own consortium (including Control Data, DG, Fujitsu, ICL, Intel
et al) called the Archer group initially and eventually UI (Unix International) preferring
to build from SVR4. </p>

<p>At the point where SVR4/BSD and OSF/2 co-existed, AT&T sold its version to Novell
who were looking for a server based operating system to link in with their PC based
Netware to compete with Windows-NT. However, many workstation vendors considered the
development of UNIX under the control of another single company to be no better than
before, thus Novell <i>gave</i> the UNIX trademark to X/Open an independent, non-profit
making company in order to bring about unity amongst the Open Systems vendors.</p>

<p>Currently, X/Open is responsible for the development of UNIX and has resulted in the
creation of the <b>Common Desktop Environment </b>(CDE) and the <b>Spec 1170</b>API
standard. The CDE (X and Motif) aspires to do for all versions of UNIX on all platforms
what Windows 3.x has done on the Intel platform, that is to provide a common <i>look and
feel</i> to the Graphical User Interface and applications (ironically, Microsoft have now
created different GUI's for Windows 3.x, 95 and NT!) Having taken two years to develop the
CDE it is now available from some vendors as an option (which defeats its purpose) but in
time should become the norm.</p>

<p>The trouble with standards is that they take time to be be developed yet technology
continues to evolve at great pace (viz. ISO 7-layer model and TCP/IP) . Hence, although
Posix 1003.1 is widely accepted it lacks some newer facilities e.g networking, graphics
etc... A fuller standard called <b>Spec 1170</b>which derives its name from the 1,170
application program interfaces (API's) which now define UNIX at the programming level.
X/Open will certify any system that is Spec 1170 compliant can be called <b>UNIX 95</b></p>


<p>The first UNIX system I ever encountered in 1981 was Xenix-11 which ran on a PDP-11/34
with 128-Kbyte of semiconductor memory. Its claim to fame was it provided record-locking
facilities for database programming and had proper customer support services! Over the
years XENIX has become hardwired to the INTEL chipset and consequently offers binary-level
compatibility with MS/DOS software. XENIX traces it roots to the same point in history
(i.e. v7) as ATT and BSD UNIX . Therefore XENIX should not really be considered a seperate
strain of UNIX. The trend these days amongst the major workstation manufacturers is to
move towards Open Systems based on SV but with BSD compatibility and a few bits from
Xenix. Familiarity with either main flavour of UNIX should mean easy migration to the
other flavour for the ordinary user. If you are buying UNIX books you should first check
to see if it is describing generic or BSD or ATT specific UNIX. </p>



<pre>v1 (1969) pdp-7				 |
single-user, + filesystem		 |
seperate processes			 |
written in assembler			 |
					\ /
v2 (1971) pdp-11/20			 |
with memory management			 |
large program & data space		 |
					\ /
v3-5 (1973) pdp-11/70			 |
rewritten in C				 |
enabling portability			 |
					\ /
v6 (1978)				 |----PWB (1978)		
popular and widespread			 |
					\ /
v7 (1979)				 |
machine independent			 |
adhoc standard UNIX			 |
					\ /
32V (1980)				 |
32bit machines e.g. VAX'en		 | 
v7 + virtual memory			 |
+ demand paging + PCP/IP		 |
borrowed VMS features	:-		 |
e.g. Tops-20 line editing		 |
					\ /               \ /
SIII = v7 + 32V + PWB		SIII (1983)	3.0 BSD (1981)
					\ /               \ /
SV = SIII + BSD			SV (1985)	4.1 BSD (1984)
					\ /               \ /
				SVR2,3,4 (1987)	4.3 BSD (1986)
	                       			\ /   
	                                 POSIX ,OSF/2 (1993)
						\ /
					Spec 1170 + CDE (1995)


<p>Anyone who is anyone is the computer industry has ported UNIX to their propriartary
hardware and renamed it e.g. Proprietary systems (tracking ATT and BSD), e.g. UTX(Gould),
Aix(IBM), Aux(Apple), Ctix(Convergent Technologies), Posix(IEEE), HPUX(Hewlet-Packard),
PC/IX(IBM), 370/IX(IBM), Sinix(Siemens), Ultrix(DEC), VP/ix(Phoenix), UTS (Amadahl),
Solaris/SunOS(Sun) and Xenix(Microsoft).</p>

<p>A few have rewritten UNIX from scratch to avoid paying license fees and some of these
have been placed into the public-domain for educational purposes e.g. Clones (rewrites)
Coherent, PCNX, MINIX. XINU, LINUX, FreeBSD.</p>

<p>Yet more, have taken the best ideas and absorbed from UNIX and absorbed them into their
operating systems e.g. Look-alikes (similar functions), e.g. IDRIS, OS-9, MS-DOS. </p>

Last edited by blowtorch; 09-27-2006 at 12:49 PM..
This User Gave Thanks to Neo For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. What is on Your Mind?

The Great History of UNIX (1969-1999) | 30 Years of UNIX History | YouTube Video

I am pleased to announce this new video in 1080 HD for UNIX lovers honoring thirty years of UNIX history spanning from 1969 to 1999 presented in 150 seconds (two and a half minutes) in 1080 HD, celebrating the 50th anniversary of UNIX. The Great History of UNIX (1969-1999) | 30 Years of UNIX... (8 Replies)
Discussion started by: Neo
8 Replies

2. Shell Programming and Scripting

History file in UNIX

commands to view the history file in unix. I am not sure whether it is bash_history.sh (1 Reply)
Discussion started by: ramkumar15
1 Replies

3. UNIX and Linux Applications

Unix History

Hi everybody Im Megadrink!!! This is my first thred. Ive recently been introduced to Unix and i was interested in Unix's History. Can anyone give me a breif History On Unix. Just when it was invented/released. Maybe someother cool things about it. Thx for the information in advance!! :D (2 Replies)
Discussion started by: Megadrink
2 Replies

4. UNIX for Dummies Questions & Answers

History feature in Unix

Hi, I'm working on two flavours of unix namely HP-UX and sun solaris. In HP-UX, for executing the previous commands, i use the arrow keys. But on sun solaris this is not working. Can anyone explain how to use history feature effectively in sun solaris os? Thanks (4 Replies)
Discussion started by: venkatesht
4 Replies

5. UNIX for Dummies Questions & Answers

Unix History Question: Why are filenames/dirnames case sentsitive in Unix?

I tried looking for the answer online and came up with only a few semi-answers as to why file and directory names are case sensitive in Unix. Right off the bat, I'll say this doesn't bother me. But I run into tons of Windows and OpenVMS admins in my day job who go batty when they have to deal... (3 Replies)
Discussion started by: deckard
3 Replies

6. UNIX for Dummies Questions & Answers

escape shortcut and short on history :)

i am used to press the escape button to automatically fill up the missing words of a file name in an HPUX. how come i cannot do the same thing for Sun? do i have to set anything to activate this? if so is it possible to automatically go to this mode when a user logs in? how about history? how... (6 Replies)
Discussion started by: inquirer
6 Replies
Login or Register to Ask a Question