# Linux Series: Bash Programming & Operating Systems  (Part - 1)

# Overview

* In this guide, I will walk you through the basics of Linux. If you are new to Linux and unsure about its origins and purpose, this blog will provide you with a comprehensive overview.
    
* If you're not sure how to install Linux on your system, don't worry! There are multiple ways to use Linux even if you're currently using Windows as your operating system.
    
* Be sure to check out my step-by-step guide on installing Linux within Windows. Here's the link for easy access: [Blog Link](https://blog.muhammadnoorani.com/linux-series-getting-started-with-linux-on-windows-2023-wsl2-vmware-bootingusb)
    

## What Happens When you start your computer?

* Now, you pressed the button to start your pc/Laptop,
    
    * First, it executes the software in BIOS(Basic Input Output System).
        
        * What is a BIOS?
            
            * It is a basic input-output system. OR
                
            * you can call it firmware(Firmware comes installed by default in a computer stored in a small chip(Small chip: ROM(Read Only Memory) in the motherboard).
                
    * Second, It loads the Bootloader(Initializes the Operating System). But it is not always the case, it can be different for some PCs.
        

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676309952838/6d58ce9f-6d44-4f60-a0a9-cb1a2ca3e9bb.png align="center")

# What is an Operating System?

* Operating System is Software to manage and operate a Computer Device.
    
* It acts as a bridge between the computer hardware and the applications that run on the computer.
    
* Now, software needs to pass these conditions to be considered an Operating System:
    
    * Kernel
        
    * File System
        
    * User Interface \[ CLI(Command Line Interface), GUI(Graphic User Interface) \]
        
    * Should be able to manipulate data based on commands.
        

# What is a File System?

* A file system is a method or data structure used by the operating system to store, organize, and retrieve data on a storage device such as a hard drive or solid-state drive.
    
* The file system defines how the data is organized and stored on the storage device and provides a set of rules for accessing and retrieving the data.
    
* In today's time our computers are very fast, any file that we want to open. It does not take much time to find the file we are looking for.
    
    > Reason: The memories and rams are pretty advanced these days and are becoming more faster and optimised these days.
    

# What is a Kernel?

* A kernel is any core of any Operating System. It manages the communication between hardware and software components.
    
* It has complete control over everything in the system. It can control the memory and the CPU time of any software that is out there.
    

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676309967541/fa0fdc5f-e074-4f50-8bdd-fd974480f00c.png align="center")

# Windows vs Linux, Why use Linux?

* First going into the comparison, let's see the types of Operating Systems(Famous):
    
    * Windows
        
    * MacOS
        
    * Linux
        
* MacOS and Linux are pretty similar as they both are UnIx Based.
    
* Windows has some similarities with Unix but is a proprietary Operating System, it has some components that are Unix-based but majorly it is derived from other Operating Systems but it remains a distinct and separate operating system from Unix.
    
* That is why developers prefer using either Linux or MacOS.
    

#### Why Use Linux?

1. Open Source
    
    * Linux is an Open Source Operating System, which means its source code is available to everyone.
        
    * This makes it a popular choice for developers as they can customize it according to their needs without being restricted by proprietary(relating to an owner or ownership) licenses or fees.
        
2. Terminal
    
    * Linux provides a powerful and versatile command-line interface, commonly referred to as the terminal.
        
    * This allows users to directly perform a wide range of tasks from the command line.
        
    * The terminal is also highly customizable/
        
3. Easier to get things done
    
    * Linux is known for its simplicity and efficiency, and many tasks that are difficult or time-consuming on other operating systems can be performed more easily and quickly on Linux.
        
    * For example, software installation and updates are typically handled through centralized package managers, making it easier to manage software on Linux systems.
        
    * The benefit of Linux being open-source means that there is a large community of users and developers who are constantly contributing to the development and improvement of the operating system.
        

# History of Linux

* In 1969, two developers namely one was Ken Thompson and Dennis Ritchie.
    
* If you know C language already, then you must be familiar with Dennis Ritchie.
    
* In the late 1960s, Ken Thompson and Dennis Ritchie developed Unix while working at Bell Labs. In the 1970s, the entire Operating System was rewritten in C language to make it more portable, and Unix soon became a widely used operating system.
    
* This is how the first Unix-based operating system came into the picture.
    
* In 1983, Richard Stallman started the GNU project to create a free and open-source operating system. Other operating systems like BSD, MINIX, etc. were also developed around this time.
    
* However, all of these operating systems lacked a unified kernel.
    
* In 1991, Linus Torvalds started working on the Linux kernel, which became the unified kernel for all distributions of Linux.
    
* Linus Torvalds is now known as the "Father of Linux."
    

# Linux Distributions (Which one to choose?)

* All the Linux distributions that are there, use the Linux Kernel, which Linus Torvalds developed in 1991.
    
* There are so many distributions of Linux, but in my opinion, Ubuntu is the best blend between a GUI(Graphic User Interface) and CLI(Command Line Interface). That is why I shifted from Windows to Linux Operating System.
    

# **You can find me on these platforms** [**🤝**](https://emojipedia.org/handshake/) **:**

> ***After reading this blog, give your reviews and feedbacks for more improvements.***

* [**Twitter**](https://twitter.com/MuhammadN_twts)
    
* [**Linkedi**](https://www.linkedin.com/in/muhammadnoorani)n
    
* [**GitHub**](https://github.com/MuhammadNoorani)
    
* [**Blog**](https://blog.muhammadnoorani.com/)
