Features of Unix Operating System

Learn via video courses
Topics Covered

Overview

UNIX OS was considered a small system but it has recently emerged as a strong system competing with the Windows system. UNIX can be used by multiple users concurrently. Interaction with the UNIX system can be done by using a command-line interpreter also known as a shell. It was developed on 3rd November 1971` and is updated frequently.

What are the Features of the UNIX Operating System?

Since it is an operating system, it has all the features in it that an OS (Operating System) should have. But here are some unique features that separate it from other OS out there:

Multiuser System

It is a feature that allows the execution of multiple programs for effective utilization of the CPU, also known as Multithreading. This happens in the following two ways:

  1. Multiple users are running multiple jobs or applications
  2. A single user is running multiple applications or jobs

In this, since all the resources are shared among all the users, it is called a Multiuser system. In this, one user can do multiple tasks. For doing this, a small slice of time is given by a computer to a user to divide the unit into several segments. At a particular instant of time, the CPU is addressing only one user but since the switching time of the switch is so quick, it creates an illusion that multiple users are addressed simultaneously. This is also called context switching where the state of the switch is changed from one state to another.

Portability

UNIX systems are portable because it is written in high-level language making them easier to read, write and understand, and hence can be moved to other machines as well. This means that the code can be compiled and changed on other machines as well.

Hierarchical File System

For storing information, the UNIX system uses a hierarchical file structure which has maximum flexibility in storing and retrieving information. Its implementation is efficient and maintenance is easy to handle.

Hierarchical File System

UNIX Toolkit

UNIX provides various facilities regarding types of tools like awk, UNIX grep, sed, etc. The general-purpose tool used is a network application, compiler, interpreter, etc. Various server programs are also included for providing remote administrative services.

Program Execution

To execute UNIX programs, the only thing that a user needs to do is type its name, and preceding name, type ./ for checking if the file is executable or not.

Multitask system

A user might run multiple tasks concurrently, for instance, editing a file, browsing the net, printing the file, etc. To cater to users' multiple needs, a kernel is designed which means it can be done parallelly.` In this, in the foreground, only one task is seen as running while all the other tasks run in the background. Users can block/terminate any of the tasks and can switch between them.

Pattern Matching

UNIX provides a complex feature for matching patterns in file names. A special character, meta-char ‘’ is used by the system for matching the file name. The matching is not limited to a filename, instead, there are various meta-char in UNIX. There are advanced tools available that use regular expression which is framed with characters of its set.

The Building-Block Approach

For every kind of work that is performed by the UNIX system, the developers thought of keeping a short command for simple tasks. It is used when two commands are to be connected and used. Two commands can be used by using (‘|’) pipes. For instance, $ ls | wc is used for connecting two commands to create a pipeline. The command counts the number of files that resides in the directory. Commands like these can be used for filtering or manipulating the data.

Programming Facility

The UNIX system has a programming language, the shell that is specially designed for programmers instead of normal users. It has features like loops, variables, and control structures required for programming. All these features are designed for shell scripts for invoking commands in UNIX.

Documentation

It has a command for the manual which is ‘man’, which is used as a reference command and for configuring files. There’s a vast amount of information available on the Internet apart from online documentation or GitHub. There are various groups and FAQ sections wherein they have addressed several problems related to UNIX.

Machine-independence

In UNIX, the architecture of the machine is hidden from users for making it easier for users to operate the application, read and write files, etc by using abstraction. `The user doesn't need to understand the complex backend. The machine and user interface are separated for ease of using it.

Handling I/O operations

The I/O system is the common interface used for interacting with the user and the application. The details of I/O are hidden in different units of hardware from the kernel which is the main part.

Conclusion

  • UNIX can be used by multiple users concurrently. Interaction with the UNIX system can be done by using a command-line interpreter also known as a shell. It was developed on 3rd November 1971 and is updated frequently.
  • Features of the UNIX operating system
    • Multiuser System
    • Portability
    • Hierarchical File System
    • UNIX Toolkit
    • Program Execution
    • Multitask System
    • Pattern Matching
    • The Building-Block Approach
    • Programming Facility
    • Documentation
    • Machine-independence
    • Handling I/O operations