Saturday, December 12, 2015

What's the difference between Linux and Unix?

Before I get into that, I must tell you where I'm getting all this. It is reprinted from an article titled "Linux vs Unix: The Crucial Differences That Matter To Linux Professionals", by Danny Stieben, written on November 18, 2014.

 Lately, we hear a lot about Linux — how it’s dominating on servers, how it makes up a large chunk of the smartphone market, and how it’s becoming a highly viable option on the desktop. But Linux didn’t appear out of thin air; before the creation of Linux, and before the rise of Windows, the computing world was dominated by Unix. And for those who don’t know, Linux is very similar to Unix. Since we’ve already looked at the differences between Linux and Windows, what exactly is the difference between Linux and Unix?

 Before we go into that, we have to talk more about Unix. It was first developed by AT&T in 1969. After many years of evolution, we don’t have the Unix anymore. Instead, there are various operating systems that have stemmed off of the original Unix. Now you have things like Solaris and HP-UX which are technically Unix operating systems as they’ve earned Unix certification. In case you didn’t know, Mac OS X is also a certified Unix operating system. But then there are other operating systems that are Unix-like.

 This can be for a number of very specific reasons, but they all end up this way due to one general cause: they don’t have any original Unix code in them. In the case of Linux, this is because the code was written from complete scratch so that the system would act very much like a Unix system, but wouldn’t contain any Unix code. Then there are others, such as FreeBSD and OpenSolaris, which stem off of actual Unix operating systems but have the proprietary bits taken out and replaced with open source ones. Since the Unix code is proprietary, this implies that there isn’t any Unix code left in there, which makes it Unix-like. There are a number of other factors that go into determining whether an operating system is Unix or Unix-like, but that’s outside of the scope of this article.

 Common Differences Between Unix And Linux:-

When looking at the difference between Unix and Unix-like operating systems, it’s hard to tell that there even is one at first glance. There are many, many things that the two groups have in common (which might not be very surprising due to the groups’ names). But there are little differences here and there, depending on which exact version of the Unix and Unix-like operating systems you’re comparing. Various services have slightly different locations (such as startup scripts), they often have different designs to offer the same functionality, and they may include the entire system or just the kernel. However, it’s important to realize that new software is almost always developed for Linux first and later ported to Unix (excluding Mac OS X). A lot of tools which were first made for Linux systems, such as the Gnome and KDE desktop environments, can now be installed on Unix and other Unix-like systems. It’s also important to note that Linux (and most other Unix-like operating systems) are free to obtain and use, while Unix operating systems are not. Costs are a big part in deciding what technology to use, and Linux provides a strong advantage in that regard.


 Example: Mac OS X vs. Linux

Another good comparison to make is Mac OS X versus Linux. Mac OS X is certainly easier to set up, but once again Linux is cheaper and has plenty of open source software that you can use rather than proprietary Apple-backed solutions. It’s also far more flexible as Linux can run on virtually any hardware while Mac OS X can only (officially, at least) run on Apple hardware. Mac OS X also has its own kernel (named XNU) which is different to both Linux and Solaris. It also uses HFS+ as the default file system rather than ext4 as Linux does or ZFS does for Solaris.


That's the end of my reprinted parts of Danny Stieben's article. I'm posting all this just to show that Linux is very closely related to both Unix and Apple's OS-X and is what we might call "The poor man's Unix" without the Unix licensing problems. And it really kicks ass, because its history goes back further than Windows does.

Windows vs Linux -

The main differences are that the file system "tree" is completely different, there is no central Registry in Linux, because each component keeps its own portion, and if I had to pick the most useful part of each, it would be Control Panel for Windows, and Terminal for Linux. 

All Windows users know about Control Panel. In Linux one of the most-used features is Terminal. "And what is Terminal?" you ask. Terminal compares to Command Prompt or Powershell in Windows, and is used much more often in Linux than the CMD Prompt or Powershell in Windows. 

Terminal in Linux is used for requesting updates and upgrades to the system, and to install or remove components, or as I just did here, to change a password. In other words, it's our usual way of communicating with the system to make changes or confirm its condition or ask for help, and we quickly become familiar with opening, using, and closing it. For example, if I want to use what in Windows would be called my Administrator account privileges to perform a system update, I would open Terminal and at the cursor type "sudo apt-get update" (without the quotes) and then I would be asked for my password. After entering that, the requested operation would be performed, and then I would exit Terminal just as I do in Windows' Command Prompt or Powershell. And when I do ask for an update, it replaces anything in the system which has been updated since the last request, and it removes anything no longer used, so the system is completely refreshed with the latest available components. There's no need for a Patch Tuesday, or a cumulative update to your default browser. That's all taken care of without making a big deal of it. And I love it. You really should try it.

No comments: