What is Linux?
Like Windows and Mac OS, Linux is the best known and most used open source operating system. As an operating system, Linux manages the communication between your software and your hardware. Without the operating system, the software wouldn’t function.
Linux is a multi-tasking and multi-user operating system. Linux was originally developed for personal computers but due to its some fantastic features and robustness, it is used in with various hardware. Currently, Linux is a very popular operating system for servers.
Linux is the leading operating system on servers and mainframe computers and is used on 99.6% of the TOP 500 supercomputers. Some mobile operating system like Android is also built on Linux kernel.
As Linux is an opensource version of Unix, Linux kernel code is freely available. You can download the Linux kernel code and modify it as per your business requirement and create your own operating system.
Because of the dominance of Android on smartphones, Linux has the largest installed base of all general purpose operating systems.
Architecture of Linux
The architecture of Linux can be divided into four levels of functionality as shown in below figure.
Hardware – It is a combination of all peripherals associated with the system. For example, RAM, CPU, Hard disk etc…
Kernel – It is the core part of the operating system and manages the CPU, memory, and peripheral devices. The kernel is the “lowest” level of the OS. Linux kernel is written in the version of the C programming language. It is responsible for all major activities of this operating system.
It manages the communication between devices and software, manages the system resources (like CPU time, memory, network…) and shields of the complexity of device programming from the developer as it provides an interface for the programmer to manipulate hardware.
Shells – Shell acts as a user interface, interpreting user commands and starting an application. Users typically interact with a Linux shell using a terminal emulator, however, direct operation via serial hardware connections, or networking session, are common for server systems.
System utilities – The system tools are built using the system libraries and enable administrators to administer the system manage processes, navigate on the file system, execute other applications, configure the network etc..
The Linux OS is a collection of a number of components
The Boot-loader – It is a program that loads the Linux kernel into the computer’s main memory, by being executed by the computer when it is turned on and after the firmware initialization is performed.
The kernel – It is the core part of the operating system and manages the CPU, memory, and peripheral devices.
Daemons – These are background services that either startup during boot, or after you log into the desktop.
The Shell – Shell is a command processor that allows you to control the computer via commands typed into a text interface.
System Libraries – System libraries are special programs that help in accessing the kernel’s features. Programmers have developed a standard library of procedures to communicate with the kernel. Each operating system supports these standards and then these are transferred to system calls for that operating system.
Graphical Server – This is the sub-system that displays the graphics on your monitor. It is commonly referred to as the X server or just “X”.
System Tools– Linux OS has a set of utility tools which are usually simple commands. It is a software which GNU project has written and publish under their open source license so that software is freely available to everyone.
Features of Linux
Multi-User: Multiple users can access system resources at the same time.
Multitasking: Multiple jobs can run at the same time.
Multiprogramming: Linux is a multiprogramming system means multiple applications can run at the same time.
Open Source: Linux is an open source operating system, a freely distributed, cross-platform operating system based on Unix
Portable: All programs can run on the different system in the same functionality.
Communication: Linux provides Electronic mail. The communication may be within the network of a single computer, or between two or more such computer networks.
Hierarchical File System: Linux has the hierarchical file system. start from / (root) directory.
Shell: It provides an interface to the users to run their programs.
Security: Linux provides high security. users and passwords are strictly managed. In Linux no need of other anti-malware application because itself it provides high security.
Help Facility: Linux provides manual pages for LINUX commands.
Events leading to the creation
In 1969, the Unix operating system was conceived and implemented by Ken Thompson and Dennis Ritchie at AT&T Bell Laboratories. First released in 1971, Unix was written entirely in assembly language.
Later, in 1973, it was rewritten in the C programming language by Dennis Ritchie (with the exception of some hardware and I/O routines). The availability of a high-level language implementation of Unix made its porting to different computer platforms easier.
By the early 1990s, many of the programs required in an operating system (such as libraries, compilers, text editors, a Unix shell, and a windowing system) were completed, although low-level elements such as device drivers, daemons, and the kernel were stalled and incomplete.
Linus Torvalds has stated that if the GNU kernel had been available at the time (1991), he would not have decided to write his own.
In 1991, while attending the University of Helsinki, Torvalds became curious about operating systems and frustrated by the licensing of MINIX, which at the time limited it to educational use only. He began to work on his own operating system kernel, which eventually became the Linux kernel.
Torvalds began the development of the Linux kernel on MINIX and applications are written for MINIX were also used on Linux. Later, Linux matured and further Linux kernel development took place on Linux systems.
He published the Linux kernel under his own license and was restricted to use as commercially. Linux uses most of its tools from GNU software and is under GNU copyright. In 1992, he released the kernel under GNU General Public License.
Various companies have also helped not only with the development of the kernels but also with the writing of the body of auxiliary software, which is distributed with Linux. As of February 2015, over 80% of Linux kernel developers are paid.
The Open Source Development Lab (OSDL) was created in the year 2000 and is an independent nonprofit organization which pursues the goal of optimizing Linux for employment in data centers and in the carrier range. Torvalds worked full-time on behalf of OSDL, developing the Linux kernels.
On 22 January 2007, OSDL and the Free Standards Group merged to form The Linux Foundation, narrowing their respective focuses to that of promoting GNU/Linux in competition with Microsoft Windows. As of 2015, Torvalds remains with the Linux Foundation as a Fellow.
Despite being freely available, companies profit from Linux. These companies, many of which are also members of the Linux Foundation, invest substantial resources into the advancement and development of Linux, in order to make it suited for various application areas.
Some examples are Dell, IBM, and Hewlett-Packard, which validate, use and sell Linux on their own servers, and Red Hat and SUSE, which maintain their own enterprise distributions.
Likewise, Digia supports Linux by the development and LGPL licensing of Qt, which makes the development of KDE possible, and by employing some of the X and KDE developers.
KDE was the first advanced desktop environment, but it was controversial due to the then-proprietary Qt toolkit used. In January 2008, KDE 4 was released prematurely with bugs, driving some users to GNOME. GNOME 3, released in April 2011, was called an “unholy mess” by Linus Torvalds due to its controversial design changes.
The time progressed it has been developed to such an extent that many companies replaced their OS completely to Linux in order to enhance security and strengthen it.
The reason behind the success is the Transparent nature of Linux. Today supercomputers, smartphones, desktop, web servers, tablet, laptops use Linux OS.
1. KDE is an international free software community that develops Free and Libre software.
2. GNOME is a desktop environment composed of free and open-source software.
Linux vs Windows
|Manufacturer / developer||Linus Torvalds and the Linux community.||Microsoft|
|Price||The Linux kernel and the GNU utilities and libraries which accompany it in most distributions are entirely free and open source. You can download and install GNU/Linux distributions without purchase. Some companies offer paid support for their Linux distributions, but the underlying software is still free to download and install.||Microsoft Windows usually costs between $99.00 and $199.00 USD for each licensed copy.|
|Update method||Many||Windows Update|
|Preceded by||Basic Terminal (CLI)||MS-DOS|
|License||GNU General Public License||Proprietary|
|Usage||Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers, and video game consoles, to mainframes and supercomputers.||On PC’s desktops, laptops, servers, and some phones.|
|File system support||Ext2, Ext3, Ext4, Jfs, ReiserFS, Xfs, Btrfs, FAT, FAT32, NTFS||FAT, FAT32, NTFS, exFAT|
|Default user interface||Gnome or KDE||Graphical|
|Text mode interface||BASH (Bourne Again SHell) is the Linux default shell. It can support multiple command interpreters.||Windows uses a command shell and each version of Windows has a single command interpreter with dos-like commands, recently there is the addition of the optional PowerShell that uses more Unix-like commands.|
|Source model||Free Software||Closed / Shared source|
|Supported platforms||All||PowerPC: versions 1.0 – NT 4.0; DEC Alpha: versions 1.0 – NT 4.0; MIPS R4000: versions 1.0 – NT 4.0; IA-32: versions 1.0 – 8; IA-64: version XP; x86-64: versions XP – 8; ARM: version RT;|
|Reliability||Linux is notoriously reliable and secure. It has a strong focus on process management, system security, and uptime.||Although Microsoft Windows has made great improvements in reliability in recent years, it’s considered less reliable than Linux. Many of the sacrifices it makes in the name of user-friendliness can lead to security vulnerabilities and system instability.|
|Security||Linux is a highly secure operating system. Although attack vectors are still discovered, its source code is open and available for any user to review, which makes it easier to identify and repair vulnerabilities.||Microsoft has made great security improvements over the years. But as the operating system with the largest user base, especially among novice computer users, it is the primary target for malicious coders. As a result, of all major operating systems, Microsoft Windows is the most likely to be the victim of viruses and malware.|
|Support||There is a massive amount of online support available for Linux.||Microsoft Windows offers integrated and online help systems, and there are thousands of informative books about Windows available for every skill level.|
A Linux distribution (distro) is an operating system made from a software collection, which is based upon the Linux kernel and a package management system.
Linux users usually download their operating system from one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.
A typical Linux distribution is a collection of Linux kernel, system libraries, GNU tools, additional software/applications, documentation, a window system and manager and a desktop environment.
The software is usually adapted to the distribution and then packaged into software packages by the distribution’s maintainers. The software packages are available online in so-called repositories, which are storage locations usually distributed around the world.
There are almost six hundred Linux distributions exist and with close to five hundred out of those in active development.
Because of the huge availability of software, distributions have taken a wide variety of forms, including those suitable for use on desktops, servers, laptops, netbooks, mobile phones, and tablets, as well as minimal environments typically for use in embedded systems.
There are commercially backed distributions, such as Fedora (Red Hat), openSUSE (SUSE) and Ubuntu (Canonical Ltd.), and entirely community-driven distributions, such as Debian, Slackware, Gentoo, and Arch Linux.
Widely used Linux distributions
It is a non-commercial distribution and one of the earliest, maintained by a volunteer developer community with a strong commitment to free software principles and democratic project management.
Knoppix: It is the first Live CD distribution derived from Debian to run completely from removable media without installation to a hard disk.
Linux Mint Debian Edition (LMDE): It uses Debian packages directly.
Ubuntu: It is a desktop and server distribution derived from Debian, maintained by British company Canonical Ltd.
Kubuntu, the KDE version of Ubuntu.
Linux Mint, a distribution based on and compatible with Ubuntu. Supports multiple desktop environments.
Trisquel, an Ubuntu-based distribution based on Linux-libre kernel composed entirely of free software.
Elementary OS, an Ubuntu-based distribution with a strong focus on the visual experience without sacrificing performance.
It is a commercial distribution sponsored by American company Red Hat. It aims to be a technology testbed for Red Hat’s commercial Linux offering, where new open source software is prototyped, developed, and tested in a communal setting before maturing into Red Hat Enterprise Linux.
Red Hat Enterprise Linux (RHEL): It is a derivative of Fedora, maintained and commercially supported by Red Hat. It seeks to provide tested, secure, and stable Linux server and workstation support to businesses.
CentOS, a distribution derived from the same sources used by Red Hat, maintained by a dedicated volunteer community of developers with both 100% Red Hat-compatible versions and an upgraded version that is not always 100% upstream compatible.
Oracle Linux, which is a derivative of Red Hat Enterprise Linux, maintained and commercially supported by Oracle.
Scientific Linux, a distribution derived from the same sources used by Red Hat, maintained by Fermilab.
Mandriva Linux :
It was a Red Hat derivative popular in several European countries and Brazil, backed by the French company of the same name. After the company went bankrupt, it was superseded by OpenMandriva Lx, although a number of derivatives now have a larger user base.
Mageia, a community fork of Mandriva Linux created in 2010.
PCLinuxOS, a derivative of Mandriva, which grew from a group of packages into a community-spawned desktop distribution.
ROSA Linux, another former derivative of Mandriva, now developed independently.
It is a community distribution mainly sponsored by German company SUSE.
SUSE Linux Enterprise, derived from openSUSE, maintained and commercially supported by SUSE.
Arch Linux :
It is a rolling release distribution targeted at experienced Linux users and maintained by a volunteer community, offers official binary packages and a wide range of unofficial user-submitted source packages. Packages are usually defined by a single PKGBUILD text file.
Manjaro Linux, a derivative of Arch Linux that includes a graphical installer and other ease-of-use features for less experienced Linux users. Rolling release packages from Arch repositories are held for further testing to achieve increased stability, and packages identified as addressing security issues of critical or high severity are “fast-tracked” to the stable branch.
A distribution targeted at power users, known for its FreeBSD Ports-like automated system for compiling applications from source code.
Chrome OS, Google’s commercial operating system (using Gentoo and its Portage) that primarily runs web applications.
Created in 1993, one of the first Linux distributions and among the earliest still maintained, committed to remaining highly Unix-like and easily modifiable by end users.