Categories

Unix

Mary Gilmore December 29, 2015
No votes yet.
Please wait...

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 descendants of the Berkeley Software Distribution operating system (e.g., FreeBSD, OpenBSD, and NetBSD).

The original Unix operating system was developed at Bell Labs research center in 1969. Ken Thompson and Dennis Ritchie are considered the inventors of Unix. The name (pronounced YEW-nihks) was a pun based on an earlier system, Multics. In 1974, Unix became the first operating system written in the C language. Unix has evolved as a kind of large freeware product, with many extensions and new ideas provided in a variety of versions of Unix by different companies, universities, and individuals.

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.

Key components.

Proprietary Unix systems and their variants are characterized by several essential components:

  1. 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;

  2. 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 each of Indiana University’s research computing systems is 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?

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

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

    • /tmpLocal 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

Brief overview of the pros and cons of Unix.

Advantages:

  • already exists for over 30 years;

  • available for almost any hardware platform;

  • made to keep on running;

  • secure and versatile;

  • scalable.

Disadvantages:

  • many different dialects;

  • on proprietary systems: bundling and system specific implementation of commands/packages;

  • not user-friendly, confusing for beginners;

  • proprietary hardware is expensive.

Bookmark the permalink.

Submit a ticket

If you are still unable to find a sufficient tutorial regarding your issue please use the following link to submit a request to our technical support team. We'll provide you with our help and assistance within next 24 hours: Submit a ticket

Comments are closed.