The Story of Linux

The Story of Linux

OS vs Kernel...

Introduction

With the gradual advent of computers over the years, keeping aside for whatever purposes they are used, there has always been a race among the different organizations and communities alike, to establish supremacy about the operating system that is helping to do several computing activities. And this race has nowadays moved into the world of other hardware devices as well thus not restricting to only computers.

Today let's take a glance at one such OS which has proved its capability and superiority time and again. As you might have rightly guessed from the title, I am going to discuss about Linux and certain other details related to it.

What is Linux

Starting from automobiles to rockets, watches to televisions, and netbooks to the fastest supercomputers, the Linux operating system has found its way into several diversified systems. Although Linux only accounts for a relatively small percentage of the operating systems running on desktop computers but has gained popularity in servers, Internet of Things (IoT) devices, networking equipment, smartphones, and many other devices which we don't think of as even computers. From the home router facilitating our internet access to the server this blog is hosted on, it is likely that multiple Linux-powered devices are currently enabling you to read this page.

Computer users today have a choice mainly between three major operating systems: Microsoft Windows, Apple macOS, and Linux. But unlike the other two, Linux is released under the General Public Licence (GPL) which empowers the users to run, study and even modify the underlying code.

Linux users typically obtain a specific distribution to get started. The number of Linux distributions available numbers in the hundreds. A Linux distribution is a bundle of software, comprising the Linux kernel, utilities, management tools, and even some application software in a package which also includes the means to update core software and install additional applications. Some of the popular distributions include Red Hat, SUSE, Debian, CentOS, Ubuntu, and so on. In the image below, you can see the various distributions and their evolution over the years.

image.png

Architecture of Linux

image.png The Linux architecture consists of the following software components -

  • Kernel - The kernel is the core of the Linux operating system. It provides service to all other components of the operating system. The kernel controls the resources of a computer. In other words, it manages the operations of a computer which includes the memory and CPU time as well. It interacts directly with the hardware but does not interact directly with a user. Users can use an interactive program called shell to interact with the hardware. The kernel forms an interface between the user and the hardware. It is the memory-resident portion of Linux and performs the following tasks: I/O management, process management, device and file management, and memory management.

  • Shell - Shell is a user interface that helps a user to interact with the Linux operating system. It hides the complex hardware details from the users. In Linux, the shell is used as a Command Line Interface (CLI) to run commands and programs. It is an environment in which we can run our commands, programs, and shell scripts. The shell is a user interface for access to an operating system’s services.

  • Utilities and Application Programs - The utilities in Linux are collections of programs that provide day-to-day processing requirements, such as searching a word in a file and viewing access permissions of files and directories. Such programs are invoked through the shell of the Linux operating system.

OS or Kernel?

Linux is a kernel while the system as a whole is called the GNU system or GNU/Linux.

When most people refer to Linux, they are referring to a combination of software called GNU/Linux, which defines the operating system. GNU is the free software that provides open-source equivalents of many common UNIX commands. The Linux part of this combination is the Linux kernel, which is the core of the operating system. The kernel is loaded at boot time and stays running to manage every aspect of the functioning system.