Users generally have restricted access to the UNIX filesystem; however, they are fully authorized in their home directories, where they can create their own subdirectories and files. This
restricted−access approach is necessary to protect the system from intended and unintended corruption, while still allowing users to have full control over their own programs.
Filesystem protection in UNIX is accomplished by assigning ownership for each file and directory that is created. At creation, the access modes for the three access classes user−owner,
group−owner, and others are also specified. Within each access class, three separate permissions are specified: for reading, writing, and execution of the file. Since everything in UNIX is a file or is
file−like, this simple protection scheme is widely implemented throughout the whole operating system, making UNIX security and protection very efficient.
Finally, UNIX is extremely well suited for networking. One of the reasons for UNIXs enormous popularity and wide implementation lies in its inherent network−related characteristics. UNIX
facilitates most network functions in such a way that it can appear the network has been designed expressly for the UNIX architecture. The truth is that UNIX and modern networks have been
developed independently, with UNIX preceding modern network architecture by a decade. The reason UNIX handles networking so well is simple: UNIXs flexible internal organization and
structure allow an almost perfect union between the UNIX and network environments.
1.3 The History of UNIX
Ken Thompson later joined by Dennis Ritchie wrote the first version of UNIX at Bell Labs in the late 1960s. Everything started with MULTICS MULTiplexed Information and Computing System, at
that time the joint venture project between GE, ATT Bell Laboratories, and MIT. The next phase was the project UNICS UNiplex Information and Computing System, which was created by some
of the people from the MULTICS project Ken Thompson, Dennis Ritchie, and Rudd Canaday. UNICS was an assembly language, single−user system for the DEC PDP−7, which at that time was
the most popular minicomputer. Soon the system had been enhanced to support two users. The name UNICS was later changed to UNIX.
After a major rewriting in C and porting to the DEC PDP−11 family of computers, UNIX was made available to users outside of ATT. At the time, ATT was banned from selling computing
equipment by the U.S. antitrust law, and so was forced to release UNIX practically for free. Favorable licenses for educational institutions were instrumental in the adoption of UNIX by many
universities. Soon the mutual benefits for both the academic users and UNIX itself became obvious. The leader was the University of Berkeley, which adopted UNIX and tailored it significantly. UNIX
also became commercially available from ATT, together with several other variants of the system provided by other vendors. Two versions of UNIX emerged as the main UNIX platforms, with a
number of flavors between them.
1.3.1 Berkeley Standard Distribution — BSD UNIX
BSD originated at the University of Berkeley in California and is also known as Berkeley UNIX. Since the 1970s more BSD−based UNIX releases have been derived from version 4.3 BSD, which
for a long time was a dominant version in the university and engineering communities. At the same time, the even older version of 4.2 BSD UNIX is still in use in some commercial implementations.
The evolution of BSD is illustrated in Figure 1.1.
10
Figure 1.1: The development of BSD UNIX. Sunsoft later Sun Microsystems was most successful at bringing UNIX into the commercial world
with its SunOS, which was originally based on SVR4 UNIX, but with many incorporated improvements of BSD. SunOS 4.1.x mostly referred to only as SunOS is actually the best−known
representative of the mostly BSD UNIX. The word mostly indicates a number of SunOS features that did not originate in the Berkeley version of UNIX. SunOS also introduced many new features
NIS, NFS, etc that later became overall standards in the UNIX community. In the 1990s, Sun Microsystems changed this very successful UNIX version with the next generation version SunOS
5.x, better known as Solaris. The new version presented a significant shift from BSD UNIX toward System V UNIX. SunOS continues to exist thanks to many operating commercial installations. It
survived Year 2000 syndrome and still is supported by Sun Microsystems.
1.3.2 System V or ATT UNIX
System V was derived from an early version of System III developed at ATT Bell Labs, which is why it is also known as ATT UNIX. For a long time, the best−known versions were Release 3 —
SVR3.x and Release 4 — SVR4.x. SVR4 attempted to merge older UNIX versions SVR3 and 4.2 BSD into a new more powerful UNIX system; the attempt was not a complete success, although its
overall contribution has been significant. Certain steps in the development of System V UNIX during this period are illustrated in Figure 1.2.
11
Figure 1.2: The development of ATT UNIX. Later on, many vendors accepted System V UNIX as a base for their own, vendor−specific UNIX
flavors, like: IRIX by Silicon Graphics Inc., HP−UX by Hewlett−Packard, AIX by IBM, or Solaris 2.x by Sun Microsystems. However, it is not fair to classify all of these vendor−specific UNIX flavors as
the System V UNIX. Such a statement sounds quite biased. Each vendor−specific flavor includes elements from both main UNIX platforms, so we can talk about mostly BSD, or mostly ATT UNIX
flavors. It is even better to talk about BSD or ATT implementations in some segments of vendor−specific UNIX flavors.
In the 1980s Richard Stallman started development of a C compiler for UNIX. He then started the Free Software Foundation — FSF, also known as GNU GNU stands for Gnu is Not Unix. FSF
just as it did when it started, manages many free pieces of UNIX−related software, such as GNU C compiler GCC and emacs.
UNIX development in the last decade has been characterized by many vendor−specific UNIX flavors on the market. It is difficult to consider them as part of two main UNIX platforms. Each
vendor tried to take the best from each of the main UNIX platforms to make a flavor better than the other vendors. In that light we can focus on, and talk about, development within individual flavors.
12
In its early days, UNIX was primarily run on high and mid−range computers, minicomputers, and relatively powerful workstations by that times standards. The appearance of microcomputers
presented a new challenge for UNIX. Microsoft wrote a version of UNIX for microcomputer−based systems. Called XENIX, it was licensed to the Santa Cruz Operation and was closest to System V
UNIX. It was later renamed SCO UNIX; later still it merged with Unixware. Other commercial versions also became available, like Unixware, and even Solaris for x86. However, the main
contributor in this area of microcomputer−based UNIX is Linux, a freeshare UNIX available to anyone who wants to try to work in the UNIX arena. Sometimes UNIX for microcomputers is
classified as the third UNIX platform. We will treat different UNIX versions for minicomputers as different UNIX flavors related to one of the two main UNIX platforms.
In 1993, Linus Travalds released his version of UNIX, called Linux. Linux was a complete rewrite, originally for Intel 80386 architecture. Linux was quickly adopted and ported to some other
architectures including Macintosh and PowerPC; currently there are ports of LINUX for practically every single 32− and 64−bit machine available.
Today it is very difficult to differentiate between microcomputers and workstations; the boundaries between them are indistinct. Tremendous IT development has made very powerful IT resources
available at low prices. This burst of activity had a very positive impact on UNIX, too — the number of installed UNIX sites rose dramatically, more people were involved in UNIX, and new application
areas were conquered. The best example of this IT booming is the Internet, which primarily relies on UNIX−based servers. A thorough knowledge of UNIX has become a prerequisite for any real
success in IT.
Figure 1.3 presents the main stages of the UNIX genealogy, showing mutual impacts among the different stages and within and out of the discussed UNIX platforms. For a fuller picture, this figure
should continue with the list of todays available UNIX flavors presented in Figure 1.4. Note: Figure 1.4 is only a partial list of the many UNIX flavors currently in use, and in no way indicates the extent
of the individual flavors usage.
13
Figure 1.3: UNIX genealogy.
UNIX Flavor Hardware Platform
386BSD i386+
AIX RS6000, PowerPC
AUX Macintosh
BSD different hardware
BSDOS i486+
BSD386 i386+
BSDI x86
ConvexOS Convex
Digital UNIX Alpha
DGUX Data General
DolphinOS i486
FreeBSD Pentium
HP−UX HP HPPA
IRIX SGI Indy; Mips−R8000
Linux Slackware i486+; Sparc
Linux RedHat i486+; Sparc; HP; IBM
Linux Suse i486+; Sparc
Linux Turbolinux i486+; Sparc
Linux Debian i486+
Linux 4.0 Alpha
LinuxMach3 Macintosh; PowerPC
Linuxm68k Mac68k
Mach3 Mips
14
Machtenm68k Mac68k
NCR Unix NCR S40
NetBSD Pentium; Spark; Mac68k,
Alpha
OpenBSD x86; Mac68k
NextSTEP Motorola
OSF1 Alpha
Sequent i386+
SCO Unix i386+
SINIX Mips R4000
Solaris Sparc, i386+
Sony NEWS−OS Mac68k
SunOS Sparc, Sun3
SysV different hardware
Ultrix Mips
Unicos Cray C90
Unixware i386+
Figure 1.4: UNIX flavors.
1.4 UNIX System and Network Administration