What is Unix?
On this page:
Unix (officially UNIX) is a registered trademark of The Open Group that refers to a family of computer operating systems and tools conforming to The Open Group Base Specification, Issue 7 (also known as POSIX.1-2008 or IEEE Std 1003.1 - 2008). To use the Unix trademark, an operating system vendor must pay a licensing fee and annual trademark royalties to The Open Group. Officially licensed Unix operating systems (and their vendors) include OS X (Apple), Solaris (Oracle), AIX (IBM), IRIX (SGI), and HP-UX (Hewlett-Packard).
Note: Operating systems that behave like Unix systems and provide similar utilities, but do not conform to Unix specification or are not licensed by The Open Group, are commonly known as Unix-like systems. These include a wide variety of Linux distributions (e.g., Red Hat Enterprise Linux, Ubuntu, and CentOS) and several descendents of the Berkeley Software Distribution operating system (e.g., FreeBSD, OpenBSD, and NetBSD).
Propietary Unix operating systems (and Unix-like variants) run on a wide variety of digital architectures, and are commonly used on web servers, mainframes, and supercomputers. In recent years, smartphones, tablets, and personal computers running versions or variants of Unix have become increasingly popular.
The original Unix operating system was developed at AT&T's Bell Labs research center in 1969. In the 1970s and 1980s, AT&T licensed Unix to third-party vendors, leading to the development of several Unix variants, including Berkeley Unix, HP-UX, AIX, and Microsoft's Xenix. In 1993, AT&T sold the rights to the Unix operating system to Novell, Inc., which a few years later sold the Unix trademark to the consortium that eventually became The Open Group.
Unix was developed using a high-level programming language (C) instead of platform-specific assembly language, enabling its portability across multiple computer platforms. Unix also was developed as a self-contained software system, comprising the operating system, development environment, utilities, documentation, and modifiable source code. These key factors led to widespread use and further development in commercial settings, and helped Unix and its variants become an important teaching and learning tool used in academic settings.
Proprietary Unix systems and their variants are characterized by several essential components:
Kernel: The kernel is the master control program
of the operating system, handling memory management, system calls, and
other low-level functions common to most programs, and providing
drivers for controlling hardware.
Shell: The shell is an interactive
program that provides an interface between the user and the
kernel. The shell interprets commands entered by the user or supplied
by a shell script, and passes them to the kernel for execution. Shells
available for use on Unix and Unix-like systems include
sh(the Bourne shell),
bash(the Bourne-again shell),
csh(the C shell),
tcsh(the TENEX C shell),
ksh(the Korn shell), and
zsh(the Z shell).
Note: The default login shell on Indiana University's Big Red II, Quarry, and Mason research computing systems is
bash. For instructions on changing the login shell, see At IU, on Big Red II, Quarry, or Mason, how do I change my login shell or passphrase?
File system: Unix and Unix-like operating systems
employ a hierarchical (i.e., inverted tree) directory structure, with
the root directory (
/) at the top. The standard file system has, among others, the following directories:
The root directory, where the whole tree starts
Contains fundamental executables (i.e., binaries) generally used by all users on the system (e.g.,
Contains local configuration files, subdirectories containing configuration files for large software packages (e.g., the X11 window system)
Contains shared libraries needed to boot the system and run the commands in the root file system
Local scratch space for storing temporary files, which may be deleted without notice
The primary directory for most executables used by normal users on the system (e.g.,
Contains static and dynamic libraries, a few executables that usually are not invoked directly, and subdirectories for complex programs
Additional file systems on direct-attached or networked-attached storage devices can be mounted as branches off the root directory. For example:
At IU: A network-attached storage device is used
to provide an NFS file system that's shared by the research
computing systems (Big Red II, Quarry,
Mason, and the Research Database Complex). The
file system is mounted off each system's root directory at
/N, with each user's home directory located at
/N/u/<username>and software-related files located at
Additionally, IU mounts the Data Capacitor II (DC2) Lustre file system at
/N/dc2to provide shared and project-based scratch space for users on Big Red II, Quarry, Mason, and the Research Database Complex.
On XSEDE: On the Extreme Science and Engineering
Discovery Environment (XSEDE), the XSEDE-Wide File System
(XWFS) is a wide-area file system mounted on Blacklight (PSC), Gordon
(SDSC), Lonestar (TACC), Stampede (TACC), and Trestles (SDSC). Users
with XWFS allocations can access the XWFS from each of those systems
/xwfs. Although the XWFS is hosted by 14 storage servers physically located at various service provider sites around the US, it behaves like a single file system to simplify data sharing among project groups. For more, see XWFS User Guide in the XSEDE User Portal.
To see a list of all file systems mounted on a Unix or Unix-like system, enter the
mountcommand from the shell command line.
- At IU: A network-attached storage device is used to provide an NFS file system that's shared by the research computing systems (Big Red II, Quarry, Mason, and the Research Database Complex). The file system is mounted off each system's root directory at
Development environment: Most Unix and Unix-like
systems include tools and libraries for writing, compiling, and
debugging C, C++, and Fortran programs.
The research computing systems at IU provide a variety of compiler collections for use with C, C++, and Fortran codes; see What compilers are available on the IU research systems?
Commands: Unix and Unix-like systems include a
large core of standard utilities for editing text, writing, compiling,
and controlling programs, processing, manipulating the user
environment, and retreiving information about the system and its
users. Many commands allow arguments (known as options or flags) to
modify their default behavior. Users enter commands and arguments on
the shell command line, and then the shell interprets them and passes
them to the kernel for execution.
For a brief introduction to Unix commands, see Introduction to Unix commands.
Documentation: Manual pages and
infofiles provide helpful usage information for most commands, system calls, and libraries included in the system.
At IU and on XSEDE
At Indiana University, the Big Red II research computing system runs a proprietary variant of Linux called Cray Linux Environment, based on SUSE Linux. Quarry, Mason, and the Research Database Complex run a commercial distribution of Linux called Red Hat Enterprise Linux (RHEL). Additionally, IU has a license agreement with Red Hat, Inc., allowing students, faculty, and staff to download RHEL at no cost via IUware for use on their personal workstations; for more, see IU's software agreement with Red Hat.
All XSEDE compute systems run Unix-like operating systems. Several, such as Gordon (SDSC), Keeneland (Georgia Tech), and Stampede (TACC), run a distribution of Linux called CentOS. Kraken (NICS) runs the Cray Linux Environment. Blacklight (PSC) runs an enhanced version of SUSE Linux. Additionally, through its Campus Bridging effort, XSEDE makes available a custonm Rocks Roll that combines a standard Rocks CentOS distribution with the open source software needed to configure XSEDE-compatible x86 and x86_64 Linux computing clusters. The XSEDE Rocks Roll is especially useful for research scientists who want to transfer their data for analysis on XSEDE digital services; for more, see What is the XSEDE Rocks roll, and how do I use it?
For more about XSEDE compute, advanced visualization, storage, and special purpose systems, see the Resources Overview, Systems Monitor, and User Guides. For scheduled maintenance windows, outages, and other announcements related to XSEDE digital services, see User News.
At Indiana University, for personal or departmental Linux or Unix systems support, see At IU, how do I get support for Linux or Unix?
This document was developed with support from National Science Foundation (NSF) grant OCI-1053575. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.
Last modified on February 19, 2014.