Thursday, April 23, 2015

Understanding Linux

Linux is a free open source computer operating system initially developed for Intel x86-based personal computers. It's kernel was developed by Linus Torvalds as part of a project he started while he was a student in Helsinki, Finland, in 1991. He collected together other essential stuff required to construct a full operating system with his kernel and soon it became to be known as the Linux Kernel.

Even though Linux kernel was initially developed for x86-based computers, later it was ported to many other hardware platforms as well, and today Linux is used on many devices and nearly half of the servers on the internet and on most powerful supercomputer's of the world...

History
  • Started in 1991 by Linus Torvalds as a project when he was a student in Helsinki, Finland
  • To make it as freely available software it was re-licensed (in 1992) using GPL (General Public License) by GNU (a recursive acronym for "GNU's Not Unix!")
  • As GNU is a project of the Free Software Foundation (FSF) which promotes freely available software, it helped Linux to have a worldwide developer community.
  • Worldwide community of developers contributed to the base kernel, with other system components, which helped develop different Linux Distributions in mid 90's, which became a driving force in the open source movement.
  • Major companies like IBM and Oracle started giving support for Linux platform and also started major development efforts on those, by 1998.
  • Today Linux is used on more than half of the servers on internet, and on majority of smartphones (in the form of Andriod or any other form with Linux at core), and on world's most powerful supercomputers.
Ideology
The ideology behind Linux project was as follows
  • Linux was written with the idea of making it a free and open source version of UNIX.
  • This helps worldwide community of developers to contribute and make linux a better platform.
  • Linux community is a group of people accross the world, consisting of developers, system admins, vendors, users, and many other technical personnel, who connect using different online media, like - IRC, online discussion boards, news groups and mailing lists, other online events etc..  with one another.
  • The qualification required to participate in this is just to have some technical skill and a desire to contribute. 
Let us get to know some terms used in Linux:
  • Kernel
    It is the core of Linux operating system, which resides between the Hardware and Applications, and helps to communicate between Application and hardware.
  • Distribution
    A Linux distribution is nothing but a collection of software and utilities on top of Linux Kernel to make ti a full fleged Linux Operating System. There are several different Linux distributions available today, and each of them fall under a distribution family. Like -- RHEL, CentOS, and Oracle Linux fall under Fedora Distro Family, Ubuntu, and Linux Mint fall under Debian Distro Family, SLES, and OpenSUSE fall under SUSE distro Family and like wise other distros available fall under their respective distro family.
  • Boot Loader
    Like any other operating system, Linux also needs something to load the Operating system, which is known as boot loader. Linux we use "GRUB" (GRand Unified Bootloader) as boot loader which loads operating system and initializes the services.
  • Services
    Services are programs that run as background processes. Some of the services on a Linux server are httpd, network, nfsd, ntpd, vsftpd etc...
  • Filesystem
    As for any operating system, it needs to have a systematic method of storing and organizing files so that it can be accessed by it's users properly. Windows supports several different filesystems which help it to access (read and write to) many different kinds of filesystems, like - Ext2, Ext3. Ext4. XFS, Btrfs, FAT, NTFS etc.. of which FAT and NTFS are from Windows environment, which can be accessible via Linux operating system.
  • X Windows SystemThis is the graphical subsystem on nearly all the Linux operating systems. This becomes a part of the GUI on Linux. GUI makes handling the operating system more easy for a user. There are several different GUI options in Linux, with desktop environments like KDE, Gnome etc, and there is Windows Manager, and X windows System / X11 which make the GUI on Linux better.
  • Desktop Environment
    There are several Desktop Environments available in Linux, such as GNOME, KDE Xfce etc.. which can be choosen by user according to the user's comfort level.
  • Command Line
  • Command line interfaces (CLI) is another way of interacting with Operating System, wherein a user will use text terminal to communicate with Linux System mostly in the form of commands.



More to be updated on this page... Keep watching.



No comments: