Operating Systems (OS)
- The original meaning (and still used by hardware engineering) is a basic set of functions to control the hardware and manage things like task scheduling and system calls.
- The modern terminology used by software developers, the collection of these functions is usually referred to as a kernel, while an operating system is expected to have a more extensive set of programmes.
You may have seen the term GNU/Linux, Linux is the kernel, GNU is the toolset on top of that.
OS = kernel + drivers + software
- Darwin: macOS, iOS, ipadOS, watchOS, tvOS. Based on XNU ("X is Not Unix"). Hybrid kernel.
- QNX: a commercial Unix-like real-time operating system aimed primarily at the embedded systems market (Used by Audi, BMW, Ford, etc). Microkernel. Acquired by BlackBerry in 2010.
- already on Next Hub, to be on Next Hub Max
- Microkernel provides the most basic functionalities: low-level address space management, thread management, IPC, etc.
- Device drivers, file systems, protocol stacks are included in Monolithic kernels, but are NOT in Microkernels, instead they run in user mode.
- Linux is Monolithic
- Google's Fuchsia, is based on a microkernel named Zircon. Fuchsia is NOT Linux.
Tanenbaum, the creator of Minix, arguing that microkernels are superior to monolithic kernels: