The Linux kernel is the foundation of any Linux-based operating system. It represents the core of Linux distributions for servers and desktop computers. It's also used in embedded systems, such as routers, and in all Android-based systems, including many popular tablets and smartphones. In essence, the Linux kernel is Linux. Operating systems such as Ubuntu, OpenSUSE, and Arch are sometimes called "Linux" because they each use the Linux kernel.
The Linux kernel was created by Linus Torvalds in 1991 for use on his personal computer. Today, it is widely-adopted, free, and open source software that is actively maintained by developers all over the world. The Linux kernel is currently distributed under GNU's General Public License.
The Linux kernel is a "monolithic" architecture — the OS (operating system) operates entirely in the kernel space. In contrast, in a microkernel architecture, the kernel alone defines and controls how the operating system interfaces with the computer's hardware. Unlike standard monolithic kernels, the Linux kernel is also modular, accepting LKMs (Linux kernel modules) that act as device drivers. LKMs can be written, maintained, and distributed by device manufacturers or volunteers, and can load or unload to the system without rebooting, and without re-compiling the kernel.
Linux kernels support preemptive multitasking, virtual memory, shared libraries, memory management at the system level, threading, and other modern operating system features. The default compiler for the Linux kernel is GCC (GNU Compiler Collection).