Linux Explained: What is it and why?

what is linux

 Simply speaking, Linux is an operating system; like Windows but strictly not Windows. It is differently designed, coded and made for specific purposes (most of its distributions are). But that's not it, it belongs under the Unix umbrella. What I mean by that is it's basically a clone of another operating system architecture called Unix. It is written in C programming language and assembler. It’s an open source operating system. What I mean by open source is that you can view its source code and if you know how to code you can manipulate its code to design and produce your own custom operating system.
But Linux itself is not of an OS nature. It’s a core system called Linux Kernel. There are various distributions that stands on the Linux foundation. It is the mother of OSes you may have heard of like Kali Linux, Linux Mint, Parrot OS, Ubuntu etc. Linux is based on Linux kernel. Now what the hell does that supposed to mean? Hear me out, every operating system has a core or most important central part. Go check out the meaning of “Kernel” in your dictionary or just google it. What you’ll see says like “the central or most important part of something” and every operating system framework has its own Kernel. Linux kernel is what makes Linux, Linux. And this kernel is monolithic, meaning everything that happens in this operating system happens inside this Kernel. Windows has its own kernel named “Windows NT Kernel”, your iPhone has it’s XNU kernel of Darwin, React Operating System uses its own “ReactOS Kernel” and so on.

Kernel? Here you go.

what is linux

It is a program or theme that manages the hardware resources like the memory allocation, CPU resources, CPU time, processes and everything. Whatever you want to perform in a computer goes through the Kernel because it’s the only thing that manages the hardware resources to perform a task. You cannot watch Netflix without a screen and without a kernel your computer can’t communicate with your display device hence remaining unable to display the output. Your keyboard, mouse, trackpad, controllers won’t work without it. Let alone these peripherals, your computer will not even turn on without Kernel because Kernel is the one that is responsible to boot your computer. In simple language it is the lowest level of architecture above the CPU. Maybe you’ve got the idea now what a Kernel means and does.

Wait, you said Monolithic Kernel. Explain it.

There are different types of Kernels available. Some are:
  1. Monolithic Kernel

    In this type of kernel all the activities like booting, device management, O/O communication, Hardware usage, Memory management, Process management etc are done inside the Kernel space or by the kernel itself. Because all the activities are done inside the kernel space, the size of monolithic kernel is the greatest among all.
  2. Micro Kernel

    In this type of Kernel, activities like Process Management, Interrupt Handling, Memory Management, and Privileged functions are done inside or by the Kernel. Other functions like Device Driver Handling, File System Management, Protocol Stack Management are done in user space. So, some selected functions are only carried out by this Kernel. It is small sized Kernel and because it switches between the user space mode and Kernel mode time to time execution of commands is slower than Monolithic Kernels.
  3. Hybrid Kernel

      So, hybrid Kernel by its name states that it is the combination of Monolithic and Micro Kernel. If we need small size kernel but at the same time the speed must be maximum, we use Hybrid Kernel. The efficiency of these type of Kernel is maximum and it is being used in every modern devices.
  4. Nano Kernel

    These Kernels have the minimum space and are great for embedded projects line Virtualization and it forms the basis of hypervisor.
  5. Exo Kernel

     This Kernel is the smallest of all and used for specific purpose. It is used only for process protection and Resource Handling and nothing else.

Enough of the Kernel. I’m here for Linux.

Okay, so, Linux is the core. Talking about the type of OS it is, we get the following:

•    It’s a multitasking OS

-It means you can do several tasks together like using browser, editing files, watching a movie etc.

•    It is multiprocessor supporting OS

-It supports a CPU with multi-processor. What this means is that you have not just one processor within your CPU or just one CPU but you can simultaneously use multiple processors to enhance the computational or processing power of your machine.

•    It has Graphical User Interface and Text User Interface as well

-What this means in simple language is that it is like Windows full of icons and you use your mouse to click and execute a program along with other actions to feed instructions to your computer. Additionally, it can be like DOS where you have to type a command through your keyboard to execute a certain program or do a certain task. Like in the old days.

•    Customizable OS

You can edit the codes of its core system and build your own custom Operating System. Linux is built by people and their collective efforts. It is open source and can be modified to any extent, even it’s kernel. So you have the maximum control over your system.

•    Programmer friendly OS

There are preinstalled compilers for C and C++. Although you need programs like text editor but it has its own C and C++ compilers.

•    Maximally optimized resource utilizing OS

Memory allocation and processing spaces are effectively managed in Linux. Unlike Windows which uses a lot of memory space and processing power just to execute a simple program, Linux uses the hardware resources to best utilize them and maximize the performance. It is lightweight and very powerful. Companies like Facebook, Instagram and other use Linux based servers because they are fast, less vulnerable to viruses and exploits and uses resources effectively. Even Microsoft has announced that it will use Linux kernel in its Windows10 Operating system. It will not entirely be a Linux kernel but it will somewhat be the same.

There are tons of other characteristics of Linux and you'll understand all of them once you follow along this series of articles and use it by yourself.

Top Operating Systems that uses Linux Kernels:

Note that there are several distributions of Linux made for specific tasks. Some distributions are for Hacking, some are for gaming, some for Servers, some for beginners, and much more. So. here is the list according to the area of use:
  1. For Beginners

    • Ubuntu
    • Linux Mint
    • Elementary OS
  2. For Developers

    • Arch Linux
    • openSUSE
    • Fedora
  3. For Servers

    • Ubuntu
    • CentOS
    • Debian Stable
  4. For Gaming

    • SteamOS
    • Manjaro
  5. For Penetration test 

    • Kali Linux
    • BackBox
    • Parrot Security OS

I will be telling you how to install and use Kali Linux for hacking and penetration testing in later articles. Till then, stay tuned.

Post a Comment