While there is a major misinterpretation for beginners that Linux is a operating system and they get confused on hearing Gnu/Linux distributions like Ubuntu, Fedora, Debian, etc., The very next question that arises in their mind is that “What is the difference between Linux and Gnu/Linux? or What is the difference between Linux and Ubuntu / Fedora?”.
Linux is a Kernel
Kernel is the core part of Operating system which performs every tasks that a user wanted to perform with computers. We have hardware like RAM, Hard-Disk Drives, Keyboard, Mouse, Processor. We are utilizing or using these hardware to perform computations; Store and retrieve files; Input and Output, etc., While today the Operating system provides Graphical User Interface (GUI) to the users in order to interact with hardware, the kernel part is abstracted or hidden from User’s point of view.
But what actually running behind the screen is that when we(users) give instructions to the Operating system via GUI buttons; mouse clicks; key press, etc., the control is handed over to the kernel which in-turn talks with the hardware. So it is like User –> Operating System –> Kernel –> Hardware and vice-versa. When you say just Linux it means you are talking about the kernel and not the entire operating system.
Gnu/Linux is Operating System
During the development of Linux kernel, the Free Software Movement was planning to release a complete operating system that gives every freedom to the users without any restrictions. So they started a project called GNU – Gnu is Not Unix and under the name they started developing programs and tools required for an operating system but they were missing a kernel (core part of operating system). When the Free Software Movement become aware of the Linux kernel (which also gives users the complete freedom), it was embedded with the GNU tools and so the entire Operating system was born. Debian, Ubuntu, Fedora, Slackware, LinuxMint, Arch, Backtrack are all such Gnu/Linux Operating systems that uses Linux as their kernel. A Operating system is not complete without a kernel and similarly a Kernel is not complete without a Operating system. Next time when you point to Ubuntu / Fedora / any distribution you are using say them as GNU/Linux and to point the kernel say “Linux”.