Linux vs Unix. What are the differences between the two?
If you began your IT career about a decade ago, chances are high that you did so at a time when Linux had already carved a niche for itself in the Computing world.
Presently, Linux is the darling of data centers and makes up a huge chunk of the Android smartphone market. Leading cloud providers such as AWS, Microsoft Azure and Digital Ocean offer a significant percentage of services running on the Linux platform.
If you’ve worked with virtual servers before, or any cloud-based technology, chances are you’ve handled Linux.
So, what’s Linux?
Linux is a free and open source operating system that is widely used in enterprise systems as well as desktop and laptop environments. It comes in several distributions with RedHat making up 65-80% of the data center market. While it is not free to use (RedHat requires a subscription service), it remains dominant in enterprise Systems with the rest of the share taken up by Windows variants. Other distributions that are free to use and common in data centers include Debian and CentOS.
Nowadays, Linux is everywhere: from Smart TVs, Android smartphones, tablets to other Linux embedded devices which constitute IoT- Internet of Things devices.
In some discussions, you may have probably heard Linux referred to as a Unix-like operating system. So, what is this Unix buzzword? Is Unix the same as Linux? What’s the difference between Unix and Linux? Let’s dive and unravel this mystery.
To wrap our minds around Unix, we first need to go back in time and learn about its history. Unix is an operating system that was created at AT&T Bell Laboratories in the late 1960s by Ken Thompson and Dennis Ritchie.
Dennis Ritchie was responsible for discovering the C Programming language which is still widely used in software development.
Ken Thompson invented Go language and the UTF-8 character encoding that’s still in use today. Initially, the two were working on an Operating System called Multics, which was designed to run multiple programs at the same time.
But the two experts got frustrated with the direction and the scope the project was taking and started working on an alternative which was known as UNICS – Uniplexed Information and Computing Service. Over time, this changed to UNIX.
UNIX was later rewritten in C programming language in 1972 and this set it apart from all the Operating Systems. AT&T thereafter licensed the source code of UNIX. Soon, UNIX outgrew Bell Labs and started being used in Universities, and research institutions.
One of the Universities that started using UNIX was the University of California in Berkeley. Engineers at Berkeley continued developing the Operating System and this spawned a new derivative called BSD – Berkeley Software Development.
BSD came with additional software and enhanced capabilities. Over time, AT&T detached itself from Bell Labs and made a foray into the Computer market selling its first commercial version of UNIX in the early ’80s. This version of UNIX became popularly known as System V.
We now had 2 versions of UNIX; System V from AT&T and BSD which was being developed in the University of California. From these two versions, popular branches of UNIX were spawned. These included Sun’s Solaris and HP-UX which were derivatives of System V and Ultrix from the BSD heritage.
Soon, the BSD family became more popular than AT&T which opened doors to variations such as OpenBSD, NetBSD, and FreeBSD. Although some variants such as FreeBSD are still in use today, their usage has dwindled over time especially in the server market. However, OS X which is now popularly known as Mac OS is a BSD derivative.
In Finland in the early 1990s, a computer scientist called Linus Torvalds wanted to further make some improvements on the existing Unix operating system, specifically the Minix OS which was another derivative of Unix. His goal was to create a free kernel, using several GNU tools such as GCC – GNU compiler collection, and bash. Below is a letter making his first announcement before releasing Linux.
Eventually, he created a viable kernel which he later named Linux which gave the Operating System a new breath of life. The Operating System was free to use, and its source code made public under the GNU/GPL license.
This gave rise to a myriad of Linux distributions with the Linux kernel, GNU components, X- Windows GUI (Graphical User Interface) as well as BSD components licensed under FreeBSD opensource license. The rise of distributions such as Slackware and RedHat gave users ability to try out Linux from desktops and this further gave rise to several other Linux distributions which are used for Academia, home use and in production servers.
Today, there are over 300 unique Linux distributions at distrowatch.com. Some of the most popular distributions include Linux Mint, Ubuntu, Debian, Fedora, CentOS, Arch Linux, Open SUSE and RedHat which dominates the Enterprise Server world.
Comparison between Unix and Linux
Having looked at the history of Unix and the subsequent rise of Linux under GNU license which underpins free use and redistribution of Linux, let’s now draw comparisons between the two.
- Linux code was written completely from scratch by Linus Torvalds and does not contain any Unix code. UNIX original code was written by AT&T at Bell Labs.
- Linux is more portable and runs across a myriad of platforms/system architectures such as x86 and ARM. Unix runs in fewer platforms compared to Linux.
- Linux is the kernel of the GNU/Linux Operating Systems. It is derived from Unix. On the other hand, UNIX is an operating system from AT&T which is a family of derived operating Systems.
- Linux is free to use, open source and it can be freely redistributed. This has facilitated the emergence of multiple Linux distributions. Unix is largely proprietary and is usually shipped or packaged along with the hardware.
- Linux is the most preferred OS for data centers and cloud deployment due to its cost-effectiveness. Unix is mostly used in special purpose server applications and internet servers.
- Linux offers free community support with tonnes of forums on Linux available online. For Unix, support is commercial leading to what we call vendor lock-in.
- Linux supports a variety of file systems including Ext2, Ext4, xfs, ReiserFS while UNIX supports just a few filesystems
- Various Linux distributions release frequent system and security updates as well as bug fixes to enhance better user experience. In Unix, updates are infrequent and bug fixes can take longer.
Perhaps the greatest difference between Linux and Unix is the huge developer community for Linux. This enables developers to contribute to open source project and provide bug fixes, security patches, and more robust systems. While UNIX systems are still evolving and popular such as Solaris and MacOS, Linux makes up for a larger user base.