$ whatis Linux

by Atharva Tagalpallewar

Coding Club, IIT Guwahati
6 min readJan 22, 2022
obligatory XKCD

This article is a part of the Debugged Magazine released by Coding Club of Indian Institute of Technology, Guwahati. To read the entire magazine click here

If you have ever been frustrated by the sluggishness and the amount of bloatware in Windows or wanted to get started with web servers and network operations or just want to explore alternatives to your operating system, you must have come across Linux. Here, I will try to give a basic understanding and give you a ‘look under the hood’ of the biggest open-source project of all time.

Why should I care about Linux?

If you know it or not, you have definitely come across many Linux running devices in your life. Almost every device that has an operating system that is not Windows, macOS or iOS runs on Linux. The world’s most-used operating system, Android, also uses a Linux kernel. From the supercomputers at NASA, the numerous servers collectively running the internet, the router that connects you to the internet, to the smart TV at your home and the smart fridge (probably not at your home), everything runs on Linux.

Linux offers a rich mix of features, reliability, speed and security that make it a great free and (mostly) open-source alternative to proprietary operating systems like Windows and macOS.

What exactly is Linux?

Linux does not refer to any single operating system or environment, and nor is it associated with any one person or organization.

Linux (or Linux/GNU) is a family of open-source, modular, Unix-like operating systems based on the Linux kernel.

Don’t worry if you didn’t understand a single word from the last line (I didn’t either). This was just to give you an overview of what we are covering in this section.

Let us decode each of the keywords in the definition in reverse order:

Linux Kernel:

The core hardware of any system (CPU, RAM, etc) cannot communicate with the users directly, and that is where the Kernel comes into use. It connects the users to the hardware. At the heart of every Linux operating system is the Linux Kernel which was first conceived and created in 1991 by Linus Torvalds (the main character of this story).

Unix-like:

Unix is another family of operating systems started by AT&T labs that existed before Linux. Linux systems behave similarly to a Unix system but they do not officially conform to any single Unix specification. We will cover this more in the history of Linux.

Modular:

In a Linux OS, each process operates independent of the others. The primary benefit of this approach is that if one of them fails or needs an update, it won’t affect any of the other functions, making the OS more reliable.

Open-source:

The entire source code of Linux is free for all users to study, use and distribute. This means that even you can make your own Linux OS for free!

The Linux kernel is typically packaged into Linux distributions (or ‘distros’ in short) to form a complete operating system.

Distros

Linux distributions are complete operating systems that include the Linux kernel along with supporting system software and libraries. The Linux kernel is like an engine and a distribution is an actual vehicle that houses the engine.

Popular Linux distros include Debian, Fedora, Ubuntu, Gentoo etc. Linux supports several hundred distributions, each optimized for some specific use cases. For example, Ubuntu is considered a good distro for beginners, Debian runs on numerous architectures and devices, Kali Linux is used for cybersecurity applications and Arch is commonly used to brag about your superiority to fedora users.

Every package in the Ubuntu software repositories. Line show dependencies

A typical Linux distribution includes several different components. A display manager, panels, menus, dash interfaces and core applications. Many of these items are bundled together to make a desktop environment. Common desktop environments include Cinnamon, GNOME, Unity, KDE, Enlightenment etc.

A lot of the software in Linux distros is provided by the GNU Project. GNU is an extensive collection of free software which can be used to build operating systems.

Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the term “GNU/Linux” to emphasize the importance of GNU software.

GNU (a recursive acronym for “GNU’s Not Unix!”) is also the project within which the free software concept originated. Richard Stallman, the founder of the project, views GNU as a “technical means to a social end”.

Shell

Linux Architecture

Although the graphical user interface of modern Linux distros can do just about everything, people who grow to love Linux often go to the shell first because of how easy it is to type one command instead of clicking-through many different menus.

Remember, the kernel helps us to contact the hardware, but how are we supposed to access the kernel? That is where the shell comes in. The users are supposed to input their needs in the shell, it, in turn, communicates with the kernel, and the kernel passes our input to the hardware. After the necessary processes are done, the resultant output is sent back to the kernel from the hardware and the kernel sends it back to the shell which is finally displayed as an output to the end-user.

The most popular shell to date is the Bash followed by zsh, fish, tcsh, and so on.

History

In 1969, the Unix operating system was released at AT&T’s Bell Labs, which was completely rewritten in the C programming language by Dennis Ritchie. This made porting to different computer platforms easier leading to widespread adoption. But in 1984, AT&T divested itself of Bell Labs and freed itself of the legal obligation requiring free licensing. Thus, Bell Labs began selling Unix as a proprietary(not-free) product. Linus Torvalds, who didn’t want to pay for it (don’t we all), decided to make his own clone of Unix, from scratch as his main project at University. In 1991, Linus released the first release of the Linux kernel.

Linus Torvalds

Meanwhile, by the early 1990s, under the GNU Project, there was almost enough available software to create a full operating system. However, the GNU kernel, called Hurd, failed to attract enough development effort, leaving GNU incomplete.

So in 1992, Linus suggested releasing the kernel under the GNU General Public License (GPL). Later, Linux and GNU developers worked to integrate GNU components with Linux to make a fully functional and free operating system. Torvalds has stated, “making Linux GPLed was definitely the best thing I ever did.”

Conclusion

Alright, I hope that you got an idea of what Linux is, and why it is important, along with a short history lesson. It’s definitely not possible to cover everything in one single article, but I tried to give you a basic understanding to get you started on your Linux journey.

Linux Fun-facts

  • Linux was almost named ‘Freax’ (a portmanteau of ‘freak’, ‘free’ and ‘Unix’) by Linus Torvalds. But Ari Lemmke, Torvalds’ coworker who was one of the administrators for the FTP server, did not think that “Freax” was a good name and named the project “Linux” without consulting Torvalds.
  • Currently, the Linux kernel has 20 million lines of code and this is the smallest it has ever been! And about 95% of Linux is written using the C programming language.
  • All of the 500 fastest supercomputers in the world run Linux
  • Steve Jobs offered Linus Torvalds a job at Apple, on the condition that he stopped development on Linux. Linus (thankfully) declined.
  • There are actual asteroids named after Linus Torvalds and Linux called ‘9793 Torvalds’ and ‘9885 Linux’.
  • Today, over 80% of Linux contributions come from developers paid by big enterprises. Top contributors include Intel, Microsoft and Samsung
  • NSA had approached Linus Torvalds in order to create backdoors in the Linux Kernel. Linus said no to this ‘request’.
  • Even Linus Torvalds once said that Linux is difficult to install (you can feel good about yourself now)

--

--

Coding Club, IIT Guwahati

A series of short informative blogs where the best programmers have your back with all the new technologies you need help exploring. So dive in!