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).
Proprietary 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
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).
- 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:
- At IU: A network-attached storage device is used
to provide an NFS file system that's shared by
Big Red II, Karst,
Mason, and the Research Database Complex
(RDC). 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
- 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 Gordon (SDSC),
Lonestar (TACC), Stampede (TACC), and Trestles (SDSC). Users with XWFS
allocations can access the XWFS from each of those systems at
/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.
- Development environment: Most Unix and Unix-like systems include tools and libraries for writing, compiling, and debugging C, C++, and Fortran programs.
- 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 retrieving 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.
Note: The default login shell on
Indiana University's Big Red II, Karst, and Mason research computing
bash. For instructions on changing the login
shell, see At IU, on Big Red II, Karst, or Mason, how do I change my
login shell or passphrase?
||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:
To determine what file systems are mounted on a Unix or Unix-like
system, use the
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?
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. Karst, 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.
At Indiana University, for personal or departmental Linux or Unix systems support, see At IU, how do I get support for Linux or Unix?
All XSEDE compute systems run Unix-like operating systems. Several, such as Gordon (SDSC) and Stampede (TACC), run a distribution of Linux called CentOS. Darter (NICS) runs the Cray Linux Environment, which is based on SUSE Linux.
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.
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.
This is document agat in the Knowledge Base.
Last modified on 2015-11-18.
- Fill out this form to submit your issue to the UITS Support Center.
- Please note that you must be affiliated with Indiana University to receive support.
- All fields are required.