Indiana University
University Information Technology Services
  
What are archived documents?
Login>>
Login

Login is for authorized groups (e.g., UITS, OVPIT, and TCC) that need access to specialized Knowledge Base documents. Otherwise, simply use the Knowledge Base without logging in.

Close

What is Unix?

On this page:


Overview

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.

Back to top

Key components

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:

    Directory Description
     /  The root directory, where the whole tree starts
    /bin Contains fundamental executables (i.e., binaries) generally used by all users on the system (e.g., chmod, cp, mv, grep, and tar)
    /etc Contains local configuration files, subdirectories containing configuration files for large software packages (e.g., the X11 window system)
    /lib Contains shared libraries needed to boot the system and run the commands in the root file system
    /tmp Local scratch space for storing temporary files, which may be deleted without notice
    /usr/bin The primary directory for most executables used by normal users on the system (e.g., emacs, make, scp, sftp, ssh, and yum)
    usr/lib 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 /N/soft.

      Additionally, IU mounts the Data Capacitor II (DC2) Lustre file system at /N/dc2 to 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 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.

    To see a list of all file systems mounted on a Unix or Unix-like system, enter the mount command from the shell command line.

  • 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 info files provide helpful usage information for most commands, system calls, and libraries included in the system.

Back to top

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?

If you need help or have questions, contact the XSEDE Help Desk. For other support options, see How do I get help with XSEDE?

Back to top

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 domains all and xsede-all.
Last modified on February 19, 2014.

I need help with a computing problem

  • 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.



Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.

I have a comment for the Knowledge Base

  • Fill out this form to submit your comment to the IU Knowledge Base.
  • If you are affiliated with Indiana University and need help with a computing problem, please use the I need help with a computing problem section above, or contact your campus Support Center.