Linux in a Nutshell p1
By Govind S. Nambiar
If you’re someone who is even somewhat interested in computers, you must have heard of Linux. But you might not be aware of what exactly “Linux” is, or you might have some misconceptions regarding Linux. This article and article series is meant as an introduction into the world of linux from the very beginning, for the absolute beginner.
But before I get ahead of myself, let’s start with the basics.
What is Linux?
The most accurate answer (and unfortunately, the most useless answer to most people) is that Linux is a kernel. A kernel is a piece of software that acts as an interpretive layer between the hardware and software¹; this is why kernels are usually written in a relatively low-level language, like C ². Kernels take care of pretty much everything when it comes to allocating resources, so they’re sometimes called the “core” of the OS. Linux isn’t the only OS to have kernels; all operating systems need them, even Windows and MacOS³.
But this is probably not the answer you’re looking for. You probably expect me to say something along the lines of “Linux is an operating system”, but it would be better to say that Linux is a class of operating systems. What do I mean by this? Let me explain via an analogy. Say operating systems are like sweets. Windows is like a licorice flavored sour strip⁴; MacOS is like a mixed apple pie .
Linux is like ice cream. Not a specific flavor of ice cream, but ice cream, the class of sweets. There are many different “flavors’’ of Linux- we call these “distributions” or “distros” for short- and the madness of the whole thing can be shown by a simple picture:
[Wikipedia image where it shows the genealogy of different Linux distros]⁵
This is simply due to the nature of Linux; when people have the freedom to do anything they want to, they usually do.
The ice cream metaphor works even better when you consider that you can mix and match different aspects of different Linux⁶- but here I get ahead of myself.
The more experienced readers among you might now be scrambling to correct me. “It’s technically GNU/Linux”, they say. I hear this objection, and I will explain what they mean by this, as well as why in this series, I will refer to it as simply “Linux”⁷.
The GNU in GNU/Linux comes from the fact that a kernel (Linux) is not very useful by itself, and so needs other components to function as an operating system- the GNU project(a software project) sought to create a free alternative to the then dominant OS Unix, and so developed the most commonly used versions of these components that you can find on most Linux distros. The trouble comes from the fact that most people still refer to the OS as “Linux”- what was meant as a placeholder name has become too common to change. Another reason why I’ll be using “Linux” in this series of articles is that it’s also the most general term- some Linux distros don’t use GNU components, but do use the Linux kernel. Somewhat more confusingly, some Linux distros have versions that don’t use the Linux kernel⁹.
But I haven’t gotten into the biggest advantage of Linux yet: Linux is free and open-source. Free as in Linux distros are usually free of cost¹⁰ and more philosophically, “free as in freedom”.
Free cost is self-explanatory: Most Linux distros are free to download, and don’t require you to pay any money to access them. There are some paid distros, but they’re few and far between.
That next bit, free as in freedom, requires some elaboration. “Free as in freedom” means that you, as a Linux user, are free to modify it and use it as you see fit. It’s quite the breath of fresh air in the modern landscape of subscriptions, terms and conditions, and other constraints on how, what and why you can use something. IEEE BITS Goa already has an article on open-source, so I won’t go into too much detail here, but the cool thing for us here is that people can look at the source of Linux, what makes it tick, how it works, etc. and modify it for their own needs if required with basically no restriction.
But what does this mean for you as a user of Linux?
Well ,for starters, it means that you don’t have to pay money to try out Linux, unlike say, Windows or MacOS. Because Linux is open-source, and a very popular open-source project at that, bugs¹³ tend to be found far more quickly than in other operating systems, and they also tend to be solved much, much quicker¹⁴. This results in an operating system that is just more secure and stable compared to its competition.
To close out this article, I’d also like to mention the benefits of Linux that aren’t absolutely essential to its nature as well. Linux tends to use less resources on average than Windows. There are several Linux distros specifically made for old hardware¹⁵, or for very specific niche uses that would have simply gone unaddressed if not for Linux.
In this article, I’ve tried to make the case for why an average person with some computing knowledge should at least think about trying Linux. I’ve explained some basics about the Linux kernel and some advantages of Linux, especially when compared to MacOS and Windows. In the next part, I want to talk about some more aspects about Linux: namely, Desktop environments, some misconceptions around Linux, and if I have the space, into the thorny issues that unfortunately affect Linux. See you then.
: For some more info, see http://www.linfo.org/kernel.html and https://www.geeksforgeeks.org/kernel-in-operating-system/
: More recently, the Linux kernel includes Rust as well, which is also a comparatively low level language. Compare C with Python, which abstracts many things like memory allocation, and you see why this is needed.
: The Windows kernel is called Windows NT. The MacOS kernel is called XNU.
: The author is not a fan of licorice or apple pie, but will not object to either of these if offered.
:https://en.wikipedia.org/wiki/File:Linux_Distribution_Timeline_21_10_2021.svg It’s…a lot, to say the least.
: I’ll be using “Linuxes” and “Linux distros” interchangably for this post.
: For the memetic version of this, refer the infamous https://stallman-copypasta.github.io/, which was initially from this blog post: https://www.gnu.org/gnu/linux-and-gnu.en.html It is still a nice read, if you’re interested.
: GNU stands for “GNU’s Not Unix”, a recursive acronym that also pokes fun at the lawsuit-happy Unix; they had to skirt around directly referencing it, since similar competitors were sued on trademark grounds.
: An example for this is Debian using GNU/Hurd. It’s not really Linux anymore, is it?
: The common way to refer to this in the LInux/FOSS community is “free as in free beer”, to contrast with “free as in freedom” or “Free as in free speech”.
: For more elaboration on this, see: https://www.gnu.org/philosophy/free-sw.en.html .
: I want to make something clear here. Just because a project is open-source does not mean that it will automatically have fewer bugs. But because Linux is so popular, there are many people who can look out for bugs, and many people who have the expertise to patch these bugs. Your average open-source project doesn’t usually have this level of scrutiny or this abundance of willing talent at its disposal.
: Bugs are flaws in a program’s code that cause it to malfunction.
: https://googleprojectzero.blogspot.com/2022/02/a-walk-through-project-zero-metrics.html I also want to note here that Linux had lesser bugs to begin with, also possibly due to its open-source nature.
: This prevents e-waste. Plus, you can use your stuff for longer, and in a completely new way!