English
+370 5 205 5502 sales@monovm.com

Linux vs Unix

The key difference between the Unix and Linux-based operating systems lies in how they work internally, especially at the kernel part. Read along to find out the exact differences between the two.

29 Dec, 21 by Susith Nonis 12 min Read

List of content you will read in this article:

Linux is one of the leading and stable operating systems which Linus Torvalds created as a clone of Unix. Linux worked with various hackers across the world to develop Linux from scratch. Linux is one of the popular variants that have been derived from the Unix-like operating systems and is available in various distributions. Unix family is known for its multitasking, portability, multi-user environment, and time-sharing configurations. Unlike Linux, Unix comes with the centralized OS kernel that helps manage the entire system and make sure the resources are available to all the processes and applications running on top of it. Other important features are being supported by Unix OS, such as programming interface, file abstraction, networking, and background processing.

This article will focus on the detailed differentiation between the Unix and Linux operating systems. There are various factors to consider to have a concrete differentiation. Let’s start with their basic introduction.

Unix is the base for all the operating systems. Unix system comes with the following characteristics.

  • It uses plain text for storing the data.
  • It has a hierarchical file system.
  • It can handle various devices and some particular inter-process communication (IPC) in files.
  • It is capable of employing a massive amount of software tools.
  • It consists of thousands of small, simple, and modular programs that can be connected with the help of the command-line interpreter via pipes, which works in contrast to the use of a single monolithic program that consists of all the same functionality.

Unix Architecture

The below-shown diagram will explain the architecture of the Unix.

[image source]

The kernel is the core program of the Unix operating system that has complete control over the entire system. It comes with various subsystems responsible for handling the files, resources, and memory. Also, they will take care of the start and stop of the programs and other low-level tasks. The kernel is considered as the heart of the OS that acts as an interface between the underlying hardware and the applications that are running on top of it. The kernel subsystems come with exceptional features such as concurrency, virtual memory, and VFS. 

As per the above image, the outer layer of the Unix architecture contains the shell, commands, and application programs. Here, the shell acts as an interface between the user running the system and the kernel inside the system. Users run the commands on the shell and interpret them in the language understandable by the kernel and then the required computer programs as per the given command.

After you get a basic understanding of the Unix operating system, we will move forward with the Linux operating system. Some people get confused between Unix and Linux. But here, we will clear all your confusion. First, you need to understand that there is a difference between Linux and Unix but also has a relationship with each other as Linux is derived from the Unix operating system.

Linux cannot be mistaken with Unix, but it is a Unix-like operating system as it has most of the functionalities and features. Linux is one of the stable OS examples of the Unix derivates. 

Before moving forward, we need to focus on the term “Unix-like”. A Unix-like OS is the one that behaves like the Unix system, but they don’t need to adhere to the Single UNIX Specifications (SUS) or have the same POSIX standards. As per the SUS, which is considered the standard required for any OS to behave like the UNIX trademark. The “Open Group” grants this trademark.

Linux Architecture

[image source]

Linux system has monolithic and microkernel structures. If Linux supports the monolithic kernel structure, there is only the kernel space where every task will occur. At the same time, if the system is a microkernel, the system has separate userspace and kernel space, as shown in the above image. Userspace will consist of the libraries, system daemons, shells, and the required tools for running the applications. The kernel space will consist of the schedulers, drivers, security, and networking that will help manage the system resources so that the resources will be available to all the running applications simultaneously without impacting the working of all applications.

Linux

Unix and other Variants

Linux operating system will refer to the GNU/Linux operating system kernel. 

Unix is the original operating system that was developed by AT&T. 

The original code of the Linux operating system was developed by Linus and the GNU Foundation

The original code of the UNIX was developed by AT & T

The trademark of the Linux operating system is owned by Linus Torvalds and managed by the Linux Mark Institute.

The UNIX trademark is certified by the Open Group. 

Linux has derivates such as Debian and Fedora

UNIX has derivatives such as FreeBSD and macOS

Linux is available as an open Source under the copyleft General Public License

Berkeley Unix comes as a partially open-source under the BSD License while on the other hand the System-V Unix source is procured under a proprietary commercial license.

Different variants of the Linux OS is maintained by different communities; along with the kernel that is merged into the branch maintained by Linus

Different variants of the UNIX OS is maintained by various companies, and each of them maintains their own kernel

Linux OS was basically designed as a general-purpose and scalable platform that is capable of running various applications.

UNIX OS was basically designed for a small audience who wants to work with a defined set of target platforms and applications.

Linux OS is mainly available as a configurable software download and installer.

UNIX OS is typically shipped along with the hardware e.g. MacBook

It comes with free and huge community support. You can also avail of its paid support available from several service providers.

You can only avail of its paid commercial support that might lead to a vendor lock-in situation.

Linux comes with interfaces that often evolve

UNIX comes with interfaces that are usually stable

You will get frequent updates that come with quick bug fixes

You will not get frequent updates, thus making bug fixes late.

It comes with supports for almost all file systems and can be used across operating systems

Unix OS mostly comes with the support for two or perhaps three file systems

It is one of the preferred OS that is available for cloud deployment and data centers 

It is mostly the preferred OS for special-purpose server requirements 

It is highly scalable is and its scalability can be achieved using clusters, grids or cloud.

The scalability of the UNIX system can be achieved using clusters or grids

Features

Linux

Unix

Developer

Inspired by Unix-like OS, Linux was originally developed by Linus Torvalds. It is available as an open-source and comes with a huge community of developers for Linux.

Originally developed at Bell Labs by Kenneth Lane Thompson, Dennis Ritchie, and 3 others.

Written in

C and other programming languages.

C and assembly language.

OS family

Unix-like

Unix

Working state

Current

Current

Source Model

Open-source

Mixed. Traditionally closed source, but some are available as open-source including illumos OS and BSD OS.

Available in

Multilingual

English

Initial release

First released in September 1991.

First released in October 1973 for outside parties but internally it was developed in Bell Labs since its inception in 1970.

Kernel Type

Monolithic kernel

Kernel Type may vary and can be monolithic microkernel or hybrid.

License

GNUv2(GPL General Public License) and others.

Licensing may also vary. Some of its versions are proprietary while others are free/OSS.

Official Website

https://www.kernel.org/

http://opengroup.org/unix

Default user interface

It has a Unix shell

It has CLI (Command Line Interface) and Graphical (X Windows system)

Text Mode Interface

By default, the shell works as the  BASH (Bourne Again Shell) that is compatible with various command interpreters.

Originally the Bourne shell is compatible with various command interpreters.

Cost

Can be obtained and used freely. You can also avail of the priced versions of Linux as well. 

Prices may vary accordingly by the vendors selling them.

Architecture

Was originally created for Intel's x86 hardware

Compatible with PA and Itanium machines. Solaris is also available on x86/x64. OSX is PowerPC.

There are three types of kernels- monolithic, micro, and hybrid (which is the combination of mono and microkernels). You can see the three types of kernels in the below image.

Linux kernel is different from the Unix kernel. Thus it is also crucial to consider this factor while differentiating between them.

As the name suggests, monolithic means single, and all the OS-related work will be done in single kernel space. This type of kernel will define the high-level virtual interface on the top of the system’s hardware. However, the Linux kernel has derived most of the features of the Unix-like kernels. Thus, they come with some significant differences. 

If we consider the microkernel architecture, the core services of the OS will run within a single process while the other remaining services will run in separate processes.

Features

Linux Kernel

Unix Kernel

Kernel approach

It majorly follows the monolithic kernel approach.

Unix kernel can follow any of the kernel architecture either monolithic, microkernel or hybrid.

For Example, macOS follows a hybrid kernel, Solaris follows the monolithic kernel, and AIX follows the monolithic kernel 

Adding/removing features 

It comes with a great feature that will allow you to dynamically add and remove the kernel components such as device drives. This feature is called loadable kernel modules (LDM) that will eliminate the need of compiling the whole kernel 

Traditional Unix systems kernel is based on the static linking of new systems that are being added.

Streams

It has no stream I/O subsystem.

In most of the Unix kernels, streams I/O subsystem is included 

Preemptive vs non-preemptive approach

Usually, a Linux kernel is non-preemptive. But recently the Linux real-time OS has started using preemptive kernels.

Some Unix systems are fully preemptive.

Such as Solaris 2.x. etc.

Kernel threading

Linux uses a kernel thread that will help in running some kernel code periodically.

Many Unix-like operating systems use kernel thread for processing the context switching.

Unix is ancient and is the base for other operating systems. Linux kernel also comes from Unix. The key difference between the Unix and Linux-based operating systems lies in how they work internally, especially at the kernel part. One significant difference you can consider is that Linux is available as an open-source and allows other developers to change the source code, which is impossible with Unix OS. If you choose between the two, pricing can be considered a deciding factor, as you have to pay for using Unix OS, which is not always the case with Linux OS. 

If we talk about flexibility, Linux is more flexible; that’s why it is more popular and used than Unix OS. Also, Unix and Linux commands are somehow similar but not the same. The decision lies in the purpose of using them, and the choice may vary accordingly.

Susith Nonis

I'm fascinated by the IT world and how the 1's and 0's work. While I veture into the world of Technology I try to share what I know in the simplest way possible. Not a fan of coffee, a sweet addict and a self accredited 'master chef'.