Linux is often described as having evolved from UNIX. UNIX itself was first developed in 1969 by a team of developers from Bell Labs, when they started a project to make a common software for all computers. Back in those days, computers were massive machines and each computer had separate software, which could be used only in one specific computer installation. To share this knowledge, and create a universal software, so that computers could be popularized, UNIX was developed as a simple and elegant ‘C’ language (instead of assembly language) with a recyclable Code. As the Code was recyclable, this part of the Code was called ‘Kernel’. The Kernel could be used to create Operating Systems and other functions on different systems. The fact that UNIX was Open Source, made it readily available for further development by a community of developers. But UNIX was mainly applicable to large computer installations, as this was before the age of the PC. But large organizations, like HP and IBM, which developed their own UNIX, created confusion. Even, the 1983 GNU Project of Richard Stallman, to make UNIX freely available as an Operating System, failed to take off.
Finally, in 1991, a student at the University of Helsinki, Finland, created an academic version, which later became the Linux Kernel Project. The student, Linus Torvalds, initially created it to satisfy a personal need since he could not afford to use the 386 Intel Computer, at his University. It slowly became a huge project, which changed from just being for fun, to a project supported by distinguished Computer Scientists from around the world. Jokingly naming it as ‘Freaks’, he was later persuaded to call it ‘Linux’, after his own first name. Since most of the tools from the GNU software are under GNU Copyright, in 1992 Torvalds released the Kernel under GNU General Public License. A proper introduction is thus a basic explanatory note on the evolution and use of Linux as the world’s most popular Operating System.
The Linux architecture has the following components:
- Kernel: At the heart of the Linux OS is the virtualization of the common hardware resources of the computer. This is in order to provide each computer process with its necessary virtual resources. The Kernel is therefore charged with being the sole process running on the machine. Conflicts between different processes have to be resolved by the Kernel. Some of the different types of Kernel are – Monolithic, Hybrid, Micro and Exo Kernels.
- System Library: The functionality of the OS is implemented by a number of Functions that are stored in the system library, which can be pulled as required when coding the system. This creates an OS with enormous reach and power.
- Shell: This is the main User interface which simplifies the User’s execution of processes and commands to the machine. It is this interface that hides the Kernel’s complexity of functioning. In turn the Kernel addresses the machine through the unwieldy and cumbersome Machine Language, which is the only language the machine understands.
- Hardware Layer: All the peripheral devices of the system together comprises of the Hardware Layer, such as, CPU (Central Processing Unit), HDD (Hard Disk Drive) and RAM (Random Access Memory).
- System Utility: System Utility provides the User with the functionalities of an OS.
- Ubuntu: Ubuntu is derived from Debian but uses its own repositories. However, much of the software in these repositories is synced from Debian. The Ubuntu originally used the Gnome 2 Desktop Environment, but has now shifted completely to its own Unity Desktop Environment. In fact, Ubuntu is gradually creating its own graphical server (Mir). This in-spite of other distributions working on Wayland. Ubuntu is very popular for its cautious yet innovative approach, and is presently expanding to run on smart phones and tablets.
- Linux Mint: Mint is built on top of Ubuntu and uses the same software repositories. It was always popular because of its inclusion of Media Codecs and Proprietary Software that were not originally included by Ubuntu. Mint does not rush the User and automatically installs critical software updates. Unlike Ubuntu, Mint uses the traditional Cinnamon or MATE Desktop.
- Debian: Debian uses only free, Open Source software and has been operating since 1993, still releasing new versions. It is stable and conservative, which makes it ideal for some systems.
- Fedora: Fedora is a state-of-the-art system with strong focus on free software. Proprietary graphics drivers are shunned, though third-party repositories are available. It comes with a Gnome 3 desktop environment, by default. It is sponsored by the commercial Red Hat Enterprise Linux project.
- openSUSE: This is a community-created Linux distribution sponsored by Novell, since 2003. This is also state-of-the-art and user-friendly.
Some of the other popular distributions are PCLinuxOS, Mandriva, Sabayon, Gentoo, Arch Linux, Plus Slackware, and Puppy Linux Plus DSL (Damn Small Linux).
- Linux is Open Source OS, with the source code easily available to any developer.
- Linux is a high security OS.
- Software updates in Linux are easy and frequent.
- Large numbers of Linux distributions are available according to requirement.
- The performance of the Linux System is much higher than any other OS.
- Linux provides high stability.
- Linux has high flexibility and compatibility with numbers of file formats.
- Linux is easy to run and install.
- It may be confusing for beginners, as it is not very user-friendly.
- Windows has many more peripheral hardware drivers than Linux.
If reading isn’t your style, this video is a nice beginners’ guide to Linux.