The UNIX system
The Unix system is a multi-user, multi tasking operating system which means that it allows a single or multiprocessor computer to simultaneously execute several programs by one or several users. It has one or several command interpreters (shell) as well as a great number of commands and many utilities (assembler, compilers for many languages, text processing, email, etc.). Furthermore, it is highly portable, which means that it is possible to implement a Unix system on almost all hardware platforms.
Currently, Unix systems have a strong foothold in professional and university environments thanks to their stability, their increased level of security and observance of standards, notably in terms of networks.
The history of UNIX systems
The first "Unix" system was developed by Ken Thompson in the Bell AT&T laboratories at Murray Hill in New Jersey in the United States from 1965. Ken Thompson's aim was to develop a simple interactive operating system, called "Multics" (Multiplexed Information and Computing System) in order to run a game which he had created (space travel, a simulation of the solar system).
A consortium made up of MIT (Massachesetts Institute of Technology), General Electric Co. and Bell Lab was then formed around Multics.
In April 1969 the AT&T laboratories decided to use the GECOS (General Electric Comprehensive Operating System ) instead of Multics. However, Ken Thompson and Dennis Ritchie who joined the team needed to make the space travel game work on a smaller machine (a DEC PDP-7, Programmed Data Processor which only had 4K of memory to make user programs run), this is why they recreated the system in order to create a limited version of Multics called UNICS (UNiplexed Information and Computing Service), quickly shortened to Unix.
The date of 1st January 1970 is considered as the birth date of the UNIX system, which explains why all system clocks for Unix operating systems start from this date.
Alongside these activities, D.Ritchie played a large part in the definition of the C language (since he is considered as one of its creators with B.W.Kernighan), so the whole system was entirely rewritten in C in 1973 and called Unix Time-Sharing System (TSS).
When the system passed version 7 in 1979, its development was accompanied by many notable modifications such as:
- the removal of limitations linked to file sizes,
- better portability of the system (operating on many hardware platforms),
- the addition of many utilities.
A decree dating from 1956 prevented the company ATT, to which Bell Labs belonged, from marketing anything other than telephone or telegraph equipment, this is why the decision was taken in 1973 to distribute UNIX source into universities for educational purposes.
From the end of 1977 researchers from the University of California redeveloped a version of Unix from source supplied by AT&T in order to run the system on their VAX platforms and called it BSD for Berkeley Software Development.
So two development branches of the source grew:
- The AT&T branch which would become System V from UNIX System Labs (USL)
- BSD (Berkeley Software Development) developed by the University of California
In 1977 AT&T made the UNIX source available to other companies, although a great number of UNIX-like systems were developed:
- AIX, commercial Unix based on System V developed in February 1990 by IBM
- Sun Solaris, commercial Unix based on System V and BSD developed by SUN Microsystems
- HP-UX, commercial Unix based on BSD developed from 1986 by Hewlett Packard
- Ultrix, commercial Unix developed by DEC
- IRIX, commercial Unix developed by SGI
- Unixware, commercial Unix developed by Novell
- Unix SCO, commercial Unix based on System V developed from 1979 by Santa Cruz Operations and Hewlett Packard
- Tru64 UNIX, commercial Unix developed by Compaq
In 1983 AT&T had the right to market its Unix, which marked the appearance of UNIX System V, the commercial version of its Unix system.
In 1985 a Dutch professor called Andrew Tannenbaum developed a minimal operating system called Minix in order to teach system programming to his students.
In 1991 a Finnish student, Linus Torvalds decided to design, on the Minix model, an operating system capable of running on type 386 architectures.
He called this operating system "Linux" and posted the following message on the comp.os.minix discussion forum:
Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
Here is a non exhaustive diagram retracing the overall appearance of the main Unix type systems:
The UNIX standard
Considering the large number of Unix systems developed based on AT&T's System V or indeed BSD, the question of a Unix standard has been asked since 1981 on the /etc/group discussion forum in order to ensure maximum portability between systems:
- in 1983, AT&T published SVID (System V Interface Definition) describing System V. This first definition is different from POSIX
- in 1984 the /etc/group group published POSIX, a series of standards developed through the IEEE (Institute of Electrical and Electronics Engineers). POSIX is therefore also known under the name IEEE P1003.
- at the same time, a consortium of manufacturers (Sun, IBM, HP, DEC, AT&T, Unisys, ICL, ...) published the X/Open Portability Guide Issue 3 (XPG3) standard. This standard deals in particular with the different issues of geographic localisation (date, alphabet, etc.).