This topic was published by DevynCJohnson and viewed 820 times since "". The last page revision was "".
- Topics - 444
I thought it would be interesting to discuss some of the various operating systems to Linux. This article will concentrate on the kernels. The main defining characteristic of operating systems is their kernel. In all operating systems, the kernel controls and manages the hardware. However, kernels may or may not contain drivers. Some systems use the same kernel, but are still different from each other. The difference lies in the userland which is the software above the kernel. For instance, in the GNU/Linux operating system, GNU is the userland and the kernel is called Linux.
GNU/Linux, Chrome OS, Firefox OS, Android, Glendix, and many other operating systems use the Linux kernel. The Linux kernel is a monolithic kernel that supports a large variety of processors. Usually, when people say "Linux", they are referring to the operating system call GNU/Linux. Technically, "Linux" is the name of the kernel of the GNU/Linux operating system. Linux is open-source freeware. Linux is suitable for desktops, embedded systems, servers, supercomputers, mobile devices, and many other systems.
The Minix kernel is a microkernel licensed under the BSD license. This kernel only works on the i386 processor, but ports are underway. Drivers are not part of the lightweight kernel. More tasks are completed in the userland rather than in kernel mode. The Minix kernel is supposedly more secure than Linux because drivers do not have kernel or Root privileges like they do in Linux. In the Minix kernel, the various parts of the kernel cannot easily communicate with other parts. This may seem like a bad idea, but actually, this works very well. For instance, if a bad driver is installed, it cannot do much damage since it cannot influence much of the kernel. Minix has about thirty system calls (this number may be slightly off) while many kernels have a hundred or more system calls.
The XNU kernel is a hybrid kernel used by OS X (formerly Mac OS X), Darwin, and iOS. XNU is actually the Mach kernel with many additional features. XNU stands for "X is Not Unix". This kernel is licensed under the Apple Public Source License. XNU supports ARM, IA-32, and x86-64 processors.
Mach is a microkernel that was used in NeXTSTEP and is a component of the XNU kernel.
FUN FACT: Some operating systems refer to their kernel as the nucleus (nuclei is plural).
Many of the BSD systems have their own kernel that shares similarities with other BSD kernels. FreeBSD, NetBSD, OpenBSD, and DragonFlyBSD each have their own kernel that is named after the operating system. For instance, the kernel in FreeBSD may be called the "FreeBSD kernel" or kFreeBSD, and the other BSD systems follow the same pattern. The kFreeBSD and kOpenBSd kernels are monolithic while kDragonFlyBSD is a hybrid kernel. kNetBSD is technically an AnyKernel, but most people call it a monolithic kernel. An AnyKernel is a kernel that can have the drivers (modules) in the kernel or outside the kernel. Of the mentioned BSD kernels, kDragonFly supports the least (IA-32 and x86-64) while kNetBSD supports about fifty-seven processor types. All of the BSD kernels are licensed under the BSD license.
The Hurd kernel is a GNU microkernel (not to be confused with Linux). Hurd stands for "Hird of Unix Replacing Daemons" and Hird stands for "Hurd of Interfaces Representing Depth" according to Thomas Bushnell. Hurd supports i386 and is licensed under the GNU license. Operating systems that use Hurd include (but not limited to) Arch/Hurd, GNU/Hurd, and NixOS/Hurd. Most Hurd operating systems are GNU/Linux systems without the Linux kernel. Yes, most GNU/Linux systems can swap their kernel with the Hurd kernel. The Linux and Hurd both typically use the GNU userland, so making a system use one kernel instead of the other is usually easy.
Windows systems (like MS-Win7, MS-Win8.1, TinyXP, Tiny7, MicroXP, and others including official and unofficial) use the NT kernel (NT = New Technology) which is a hybrid kernel. ReactOS is another OS that use a kernel very similar to the NT kernel. The NT kernel supports a few types of processors, but not as much as Linux or kFreeBSD. The NT kernel is closed source and no longer has any POSIX support. However, the ReactOS NT kernel is open source. The NT kernel does not support as many filesystems as other systems. Although, the NT kernel supports NTFS 100%, unlike other systems.
NOTE: Linux supports NTFS, but it lacks the ability to support the transparent compression. (At least at the time of writing this article)
NOTE: Microsoft is not the only maker of Windows operating systems. MicroXP and Tiny7 are two examples of Windows operating systems, but they are not official and may or may not be legal. ReactOS is a legal open-source alternative to MS-Windows (Windows made by Microsoft).
The Solaris kernel is a closed source monolithic kernel used on Oracle's Solaris operating system. Solaris uses loadable modules like Linux. Solaris does not support virtualization like other systems. However, Solaris can host virtual operating systems using a virtualization app, like Oracle's VirtualBox. Although, the application is performing the virtualization and not Solaris.
Many other kernels exist, but these are the ones that most of my readers may find relevant. If you would like to know about others or you would like me to compare specific features and qualities, please let me know. The more emails and messages I get requesting a particular subject, the sooner and more likely I will write the desired subject.