Unit 3. Introduction of Linux

INDEX
Overview
3.1.Introduction of Linux versions
3.2.Components of Linux
3.3.Comparison of Windows and Linux
Introduction to Linux Versions in Operating System.
Introduction.
Linux is an open-source, Unix-like operating system that provides flexibility, security, and stability.
It was created by Linus Torvalds in 1991 and has since evolved into multiple distributions (versions) to cater to different user needs, from personal computing to enterprise-level solutions.
Various Linux distributions, also known as distros, are developed and maintained by different communities and organizations, each with unique features and functionalities.
1. Evolution of Linux Versions
Linux has gone through continuous development, resulting in various versions designed for different purposes.
The Linux kernel, which serves as the core of the operating system, is regularly updated to improve performance, security, and hardware compatibility.
Major Phases in Linux Evolution
Early Development (1991–2000)
First Linux kernel (version 0.01) released in 1991.
Rapid improvements led to the introduction of Linux distributions like Slackware (1993) and Debian (1993).
Growth and Expansion (2000–2010)
Adoption by enterprises with Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES).
Introduction of user-friendly distros like Ubuntu (2004).
Modern Era (2010–Present)
Enhanced security and cloud integration with CentOS, Fedora, and Arch Linux.
Linux plays a major role in cloud computing, AI, IoT, and mobile operating systems like Android (built on Linux Kernel).
2. Popular Linux Versions and Their Features
1. Ubuntu
Developed by Canonical, based on Debian.
User-friendly and widely used for desktops, servers, and cloud environments.
Regular updates with Long-Term Support (LTS) versions.
2. Debian
One of the oldest Linux distributions.
Known for its stability and security.
Used as a base for many other distros, including Ubuntu.
3. Fedora
Developed by the Fedora Project and sponsored by Red Hat.
Focuses on cutting-edge features and latest software updates.
Preferred by developers and tech enthusiasts.
4. Red Hat Enterprise Linux (RHEL)
Commercial Linux distribution developed by Red Hat.
Used in enterprises for high-performance computing and server management.
Offers professional support and security updates.
5. CentOS
A free alternative to RHEL, designed for enterprise environments.
Provides long-term support and stability.
Used widely in server deployments.
6. Arch Linux
Lightweight and highly customizable.
Uses rolling-release updates, ensuring users always have the latest version.
Ideal for advanced users who prefer full control over their system.
7. openSUSE
Developed by SUSE Linux.
Comes in two versions: Leap (stable release) and Tumbleweed (rolling release).
Suitable for both desktops and servers.
8. Kali Linux
Designed for penetration testing and cybersecurity.
Contains pre-installed security and ethical hacking tools.
Used by security professionals and ethical hackers.
9. Linux Mint
Based on Ubuntu and Debian, offering an easy-to-use interface.
Ideal for users transitioning from Windows.
Provides a familiar desktop environment with stability.
10. Alpine Linux
Minimal and security-focused distribution.
Commonly used in container-based applications and cloud computing.
Requires fewer system resources compared to other distributions.
3. Choosing the Right Linux Version
For Beginners
Ubuntu, Linux Mint, Fedora – User-friendly with easy installation and extensive documentation.
For Developers
Fedora, Arch Linux, Debian – Offers the latest development tools and flexibility.
For Enterprise and Servers
RHEL, CentOS, SUSE, Debian – Provides long-term support, stability, and security.
For Ethical Hacking and Security
Kali Linux, Parrot OS – Comes with pre-installed security tools.
For Lightweight Systems
Alpine Linux, Puppy Linux, Lubuntu – Optimized for low-resource hardware.
Components of Linux in Operating System.
Introduction.
Linux is a powerful, open-source operating system that follows a modular architecture, making it flexible and efficient.
It consists of several core components that work together to manage system resources, execute processes, and provide a user-friendly interface.
Each component plays a crucial role in ensuring the smooth operation of the system.
1. Major Components of Linux
Linux comprises five key components:
Kernel
System Libraries
Shell
System Utilities
Application Programs
1. Kernel
- The kernel is the core component of Linux, responsible for managing hardware and system resources.
- It acts as a bridge between hardware and software applications.
Functions of Kernel:
Process Management: Controls process execution, scheduling, and termination.
Memory Management: Allocates and deallocates memory for running processes.
Device Management: Communicates with hardware devices using drivers.
File System Management: Organizes, reads, and writes data to storage.
Security and Access Control: Ensures user authentication and permission enforcement.
Types of Kernels in Linux:
Monolithic Kernel: All essential services run in the kernel space (e.g., Linux kernel).
Microkernel: Minimal kernel with only essential functions, delegating others to user space.
Hybrid Kernel: Combines features of both monolithic and microkernel architectures.
2. System Libraries
System libraries provide essential functions and act as an interface between applications and the kernel.
They help applications communicate with system resources without needing direct hardware access.
Key Libraries in Linux:
glibc (GNU C Library): A core library for standard C functions.
libm: Provides mathematical functions.
libpthread: Manages multi-threading operations.
libdl: Supports dynamic loading of shared libraries.
Functions of System Libraries:
Provide standard functions for input/output, memory management, and networking.
Reduce the need for developers to write low-level code.
Ensure compatibility across different Linux distributions.
3. Shell
The shell is a command-line interface (CLI) that allows users to interact with the operating system.
It takes user commands, interprets them, and passes them to the kernel for execution.
Types of Shells in Linux:
Bourne Shell (sh): Original UNIX shell.
Bash (Bourne Again Shell): Default Linux shell with enhanced features.
C Shell (csh): Uses C-like syntax, popular among programmers.
Korn Shell (ksh): Combines features of Bourne and C Shells.
Z Shell (zsh): Advanced shell with better customization and scripting capabilities.
Functions of Shell:
Accepts user commands and executes them.
Supports scripting for automation.
Provides features like command history, aliases, and job control.
4. System Utilities
System utilities are essential tools and commands that help users and administrators perform system management tasks.
Types of System Utilities:
File Management Utilities:
ls
– Lists directory contents.cp
– Copies files.rm
– Deletes files.mv
– Moves or renames files.
Process Management Utilities:
ps
– Displays running processes.kill
– Terminates processes.top
– Shows real-time system resource usage.
User Management Utilities:
adduser
– Creates a new user.passwd
– Changes user passwords.who
– Shows logged-in users.
Networking Utilities:
ping
– Checks network connectivity.ifconfig
– Configures network interfaces.netstat
– Displays network connections.
Disk Management Utilities:
df
– Shows disk space usage.du
– Displays file and directory sizes.fsck
– Checks and repairs file systems.
5. Application Programs
Linux supports various application programs for different purposes, including office productivity, development, media, and internet browsing.
Common Application Programs in Linux:
Office Suites: LibreOffice, OpenOffice.
Web Browsers: Mozilla Firefox, Google Chrome.
Media Players: VLC, MPV.
Programming Tools: GCC, Python, Vim, VS Code.
Database Management: MySQL, PostgreSQL, MongoDB.
Functions of Application Programs:
Provide a graphical user interface (GUI) or command-line interface (CLI) for users.
Enhance system usability for different tasks.
Support customization and third-party software integration.
Comparison of Windows and Linux in Operating Systems.
Key Differences Between Windows and Linux.
Feature | Windows OS | Linux OS |
---|---|---|
Development | Developed by Microsoft. | Open-source, developed by community contributions. |
Cost | Paid OS with different versions (Home, Pro, Enterprise). | Free and open-source (some enterprise versions are paid). |
User Interface | GUI-based, easy to use. | Offers both GUI and CLI options. |
Customization | Limited customization. | Highly customizable (can modify the entire system). |
Security | More vulnerable to malware and viruses. | More secure due to permissions and open-source monitoring. |
Performance | Requires higher system resources. | Efficient and lightweight, even on older hardware. |
Software Compatibility | Supports most commercial software, including MS Office, Adobe, and gaming software. | Limited support for proprietary software, but has alternatives (LibreOffice, GIMP). |
File System | Uses NTFS, FAT32, exFAT. | Uses EXT4, XFS, Btrfs (more efficient file handling). |
Updates | Automatic updates, but sometimes intrusive. | Manual or scheduled updates, giving users more control. |
Drivers & Hardware Support | Better hardware support with official drivers. | Some hardware may require manual driver installation. |
Support & Community | Paid support from Microsoft. | Free community-driven support, along with enterprise-level paid support. |
2. Advantages and Disadvantages of Windows and Linux
Windows OS
✅ Advantages:
User-friendly interface, suitable for beginners.
Supports a vast range of commercial applications and games.
Official driver support for almost all hardware.
Regular updates and technical support from Microsoft.
❌ Disadvantages:
Expensive licensing fees for personal and enterprise versions.
Prone to viruses, malware, and hacking threats.
Requires frequent updates and system reboots.
High resource usage, making it slow on older devices.
Linux OS
✅ Advantages:
Free and open-source, reducing costs.
More secure due to strong user permission control and open-source transparency.
Lightweight and performs well on older hardware.
Highly customizable, allowing users to modify the system based on their needs.
Multiple distributions (Ubuntu, Fedora, Arch Linux, etc.) for different user preferences.
❌ Disadvantages:
Steeper learning curve for new users.
Limited support for some proprietary software (e.g., Microsoft Office, Adobe products).
Certain hardware components may not have official Linux drivers.
Requires manual troubleshooting for some system configurations.