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 ?
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.
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++.
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
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.
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...
At this point in time there was an explosion of apparently different proprietary versions of UNIX but they were united by the use of IX in the name, they paid royalties to AT&T and that their extensions to v7 were (they said) the best thing since sliced bread!
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.
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.
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.
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 SupercomputingJust 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.
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 gave the UNIX trademark to X/Open an independent, non-profit making company in order to bring about unity amongst the Open Systems vendors.
Currently, X/Open is responsible for the development of UNIX and has resulted in the creation of the Common Desktop Environment (CDE) and the Spec 1170API 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 look and feel 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.
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 Spec 1170which 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
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.
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)
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).
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.
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.