Basics of Linux, Architecture, Virtualization, and Hypervisor

Swapnil Ingale
5 min readOct 16, 2022

--

What is Linux

In a nutshell, Linux is Open Source OS that most technology platforms/systems prefer to use. In fact, it is present mostly everywhere starting from desktops, laptops, servers, cars, Android mobiles, smart televisions, and medical devices to many more. It provides great security and options to revive older systems. The software can be easily updated in Linux and Customization options are also available as per need. It is lightweight and has large Linux Community support. It is free to use OS and does have different distributions/flavors available in the market.

Linux (Image Credit)

Different Package Managers in Linux

A Package Manager is helpful to manage different configuration operations like installing, updating, deleting, upgrade of software packages in Linux systems. Different package managers are YUM (Yellow Dog Updates, Modified), RPM (Redhat Package Manager), and APT (Advance Package Tool).

Here is a quick view of the differences between YUM and RPM package managers.

Different distributions/flavors of Linux

Linux Distros (Image Credit)

Linux Architecture

Linux Architecture (Image Credit)

The Linux Architecture mainly consists of Hardware, Kernel, System Libraries, Shell, and Applications.

1. Hardware:

This Layer consists of physical devices of the system such as CPU, Hard drive, RAM/ROM, printers, keyboard, and mouse.

2. Kernel:

It is the Central core program of the Linux operating system which helps with memory management, process management, device drivers, system calls, and security. It is the core interface between a computer’s hardware and its processes.

3. Shell:

Shell in Linux is a program that takes a user’s commands, processes them with the help of the kernel, and provides the output. It is the interphase between users and the kernel. There are different types of shells available in Linux such as Bourne shell(sh), GNU Bourne-Again shell(bash), C shell(csh), Korn shell(ksh), and Z shell(zsh).

4. Applications:

User applications, and software installed on the system.

What is Virtualization

Virtualization is a process in which computer hardware resources can be used to create multiple virtual machines. This process uses software to create an abstraction layer over computer hardware that allows the hardware components of the system like CPU, memory, storage, etc to be divided into multiple VMs. In this way, Each of the VM has its own separate OS. It gives the great advantage of efficient utilization of physical computer hardware and allows a greater return on an organization’s hardware investment.

What is Hypervisor

The hypervisor is that software piece, which helps with the virtualization of computer hardware. It is also known as a virtual machine monitor (VMM). It is a software process that creates and runs virtual machines (VMs) using the resources of physical hardware. The hypervisor abstracts and isolates the VMs and their programs from the underlying server hardware, enabling more efficient use of physical resources, simpler maintenance and operations, and reduced costs. The physical hardware, when used as a hypervisor, is called the host, while the many VMs that use its resources are guest machines. The hypervisor treats physical resources like CPU, memory, storage, etc as a pool that can be easily reallocated between existing guests or to new VMs.

Hypervisor (Image Credit)

Types of Hypervisors

There are two types of Hypervisors as given below

1. Type-1: bare-metal or native hypervisors

Type-1 hypervisor runs directly on the server hardware. Bare-metal hypervisors manage guest operating systems. There is no software or any operating system in between, hence the name bare-metal hypervisor. A Type-1 hypervisor provides excellent performance and stability since it does not have any operating system. Type-1 hypervisors are an OS themselves, a very basic one on top of which VMs can run. The physical machine the hypervisor is running on is for serves virtualization purposes only which cannot be used for anything else. Type-1 hypervisors are mainly used in enterprise environments.

Below are some examples of Type-1 hypervisors.
Open-source Type-1 hypervisors: Proxmox Virtual Environment, Xen (Citrix XenServer), KVM (Kernel-Based Virtual Machine), Oracle VM, OpenStack
Commercial Type-1 hypervisors: Red Hat Enterprise Virtualization (RHEV), Citrix XenServer, Microsoft Windows Server 2012 Hyper-V, and VMware vSphere/ESXi

2. Type-2: hosted or client hypervisors

Type-2 hypervisors run inside an OS on the physical host machine, thus it is also known as Hosted Hypervisors. It includes a software layer in between physical hardware and hypervisor. It requires the host operating system to perform its functions and the guest operating system runs as a process on the host while the hypervisor isolates the guest from the host. Multiple Type-2 hypervisors can be run on top of a single host operating system, and each hypervisor may itself have multiple operating systems. Thus these are simple to set up and easy access between applications running on the guest and host operating systems. Type-2 hypervisors are typically used in small infrastructure environments.

Below are some examples of Type-2 hypervisors.
Open Source Type-2 hypervisors: Xvisor, Quick EMUlator, Oracle VM VirtualBox, Lguest, Linux-VServer, LinuX Containers (LXC)
Commercial Type-2 hypervisors: VMware Workstation Pro/VMware Fusion, Parallels Desktop, Windows Virtual PC

Types of Hypervisor (Image Credit)

Note: For any corrections/Feedback, please reach out to me via Linkedin or at swapnilingale31@gmail.com.

Thanks for reading and Keep Learning!!

SWAPNIL :)

--

--

Swapnil Ingale

Senior Platform Engineer | AWS SAA Certified | DevOps Learner