Two main types of
kernels exist - monolithic kernels and microkernels. Linux is a
monolithic kernel and Hurd is a microkernel.
Microkernels offer the bare essentials to get a system operating. Microkernel systems have small kernelspaces and large userspaces.
Monolithic
kernels, however, contain much more. Monolithic systems have large
kernelspaces. For instance, one difference is the placement of device
drivers. Monolithic kernels contain drivers (modules) and place them in
kernelspace while microkernels lack drivers. In such systems, the device
drivers are offered in another way and placed in the userspace. This
means microkernel system still have drivers, but they are not part of
the kernel. In other words, the drivers exist in another part of the
operating system. There is a lot more to the definition and more
differences, but these are the main defining characteristics.
Hybrid kernel which lies on
the boundary between monolithic kernels and microkernels. This means it
has qualities of both, but hybrid kernels cannot be classified as a
monolithic kernel or microkernel exclusively.
Userland refers to the user-space applications. For instance,
Mastodon Linux (FreeBSD/Linux) uses the Linux kernel, but has FreeBSD
applications (userland).
Debian is a system that has many variants. All Debian systems use GNU,
but may have different kernels. Most people have at least heard of the
GNU/Linux form that has many derivatives (like Ubuntu). Some interesting
forms of Debian include GNU/Hurd, GNU/NetBSD, and GNU/kFreeBSD (FreeBSD
Kernel).
NOTE: The Hurd kernel contains the GNU-Mach kernel.
Nextenta OS is an OpenSolaris system (GNU/kOpenSolaris). Once
installed, it appears to be GNU/Linux with the GNOME user-interface and
typical applications seen on Linux systems. However, Nextenta OS is not
Linux.
MkLinux is technically not Linux. This system uses the Mach
kernel. Even though the userland is specifically RedHat Linux, this does
not make MkLinux a Linux distro. The Mach kernel is an example of a
microkernel.
StormOS is another example of an operating system that uses the GNU userland, but is not Linux. StormOS is a GNU/Illumos system.
"Is Android a Linux system?". Yes, Android
is Linux, but not GNU/Linux. Android uses the Linux kernel and the
Dalvik userland, thus making Android - "Dalvik/Linux". Android also uses
a modified Linux kernel. Yes, there are different Linux kernels, but
they are all still Linux.
All Linux
kernels have come from the Vanilla kernel directly or indirectly. The
Vanilla kernel is the Linux kernel that can be downloaded from
Kernel.org. The Vanilla kernel is the mainstream, official kernel that
is made and managed by Linus Torvalds.
RTLinux is a real-time microkernel from of Vanilla. Yes, not all Linux kernels are monolithic, but most are monolithic.
μClinux not only refers to the distro, but also the specialized kernel for very small, weak microcontrollers.
Firefox-OS is a mobile operating system that uses the Gonk kernel
which contains various needed drivers (modules) for mobile devices like
phones. Gonk also has enhancements for the system's software.
DS-Linux is the kernel used by Nintendo for the Nintendo-DS
consoles. Sony also has a special Linux kernel for their Playstation.
The kernel is called "Runix" or "PSXLinux".
Linux-libre is a Linux kernel that completely lacks proprietary
code and modules. Basically, it is the Vanilla Kernel with code removed.
This is perfect for people that want to avoid all proprietary software.
Beware, some device will not work with this kernel.
CoLinux is a specialized kernel that was modified to allow Linux to run with Windows at the same time.
Compute-Node-Linux (CNL) is a kernel for the Cray computers. The INK kernel is used in IBM's Blue Gene Supercomputer.
The L4Linux kernel is designed to run on the L4 microkernel.
L4Android is the kernel that Dalvik/Android used for version 2.2-2.3. This is a combination of Google's changes and code with L4Linux.
NOTE: These kernels are
different not because they were configured or compiled differently.
Rather, the source code itself was greatly changed.
Nice article. It was worth reading.
ReplyDeleteLinux classes in Pune