Later on when different Linux distros like Arc Linux, Ubuntu, Debian and Fedora started to come into existence with better GUI (Graphical User Interface) and system softwares, which were basically customized versions of the Linux, users started to say that Linux is a Kernel not an operating system. Which has been now proved to be true :
For those who are still confused between Linux being an OS or kernel, Linux in true sense as written by Linus was a kernel that was written by referring to book on Unix internals (Though the Linux kernel has adopted best features from many other Unix like kernels too) while the commercially available distributions that contain utilities like graphical desktop, text editors, compilers etc. on top of the Linux kernel are complete operating systems.
Understanding the Linux kernel’s common features
The Linux kernel can be modified to support a variety of features, from multiuser accounts to graphical user interfaces in the open source operating system.
No matter what version of Linux you use, the piece of code common to all is the Linux kernel. Understanding the Linux kernel can allow the operating system (OS) to be modified to include support for the features you want, every Linux kernel can offer the following features:
- Multiuser — Not only can you have many user accounts available on a Linux system, you can also have multiple users logged in and working on the system at the same time. Users can have their own environments arranged the way they want: their own home directory for storing files and their own desktop interface (with icons, menus, and applications arranged to suit them). User accounts can be password-protected, so that users can control who has access to their applications and data.
- Multitasking — In Linux, it is possible to have many programs running at the same time, which means that not only can you have many programs going at once, but that the Linux operating system can itself have programs running in the background. Many of these system processes make it possible for Linux to work as a server, with these background processes listening to the network for requests to log in to your system, view a Web page, print a document, or copy a file. These background processes are referred to as daemons.
- Graphical user interface (X Window System) — The powerful framework for working with graphical applications in Linux is referred to as the X Window System (or simply X). X handles the functions of opening X-based graphical user interface (GUI) applications and displaying them on an X server process (the process that manages your screen, mouse, and keyboard).
On top of X, you use an X-based desktop environment to provide a desktop metaphor and window manager to provide the look-and-feel of your GUI (icons, window frames, menus, and colors, or a combination of those items called themes). There are several desktop environments and several desktop managers to choose from. (Fedora and RHEL focus on the GNOME and KDE desktop environments, but make several other desktop environments and window managers available in Fedora Extras.)
- Hardware support — You can configure support for almost every type of hardware that can be connected to a computer. There is support for floppy disk drives, CD-ROMs, removable disks (such as DVDs and pen drives), sound cards, tape devices, video cards, and most anything else you can think of. As device interfaces, such as USB and FireWire, have been added to computers, support for those devices has been added to Linux as well.
NOTE: Most hardware manufacturers don’t provide Linux drivers with their peripheral devices and adapter cards. Although most popular hardware will be supported eventually in Linux, it can sometimes take a while for a member of the Linux community to write a driver. Also, some outdated hardware my not be updated to work with the latest Linux kernels.
- Networking connectivity — To connect your Linux system to a network, Linux offers support for a variety of local area network (LAN) cards, modems, and serial devices. In addition to LAN protocols, such as Ethernet (both wired and wireless), all the most popular upper-level networking protocols can be built-in. The most popular of these protocols is TCP/IP (used to connect to the Internet). Other protocols, such as IPX (for Novell networks) and X.25 (a packet-switching network type that is popular in Europe), are also available.
- Network servers — Providing networking services to the client computers on the LAN or to the entire Internet is what Linux does best. A variety of software packages are available that enable you to use Linux as a print server, file server, FTP server, mail server, Web server, news server, or workgroup (DHCP or NIS) server.
- Application support — Because of compatibility with POSIX and several different application programming interfaces (APIs), a wide range of freeware and shareware software is available for Linux. Most GNU software from the Free Software Foundation will run in Linux (although some may take a bit of tweaking).