What type of kernel architecture does OS X use?
2022
What type of kernel architecture does OS X use?
- A.
Monolithic kernel with modules
- B.
Microkernel
- C.
Monolithic kernel
- D.
Hybrid kernel
Attempted by 593 students.
Show answer & explanation
Correct answer: D
Concept: Kernel architectures are classified by how much functionality runs inside kernel space. A monolithic kernel runs all core services -- process management, device drivers, the file system, networking -- together in one kernel address space, favouring speed. A microkernel keeps only the bare essentials (IPC, scheduling, basic memory management) in kernel space and moves drivers and file systems to user space, favouring isolation and modularity. A hybrid kernel borrows the microkernel's modular, message-passing structure for some subsystems while still running other performance-critical services inside kernel space like a monolithic kernel.
Application: OS X (now macOS) runs on the XNU kernel ("X is Not Unix"). XNU combines the Mach microkernel -- which supplies inter-process communication, virtual memory, and scheduling primitives -- with BSD components -- which supply the process model, the networking stack, the file system, and POSIX APIs -- executing together in the same kernel address space for performance. Because it blends microkernel-style modular primitives with monolithic-style in-kernel BSD services, XNU is classified as a hybrid kernel.
Contrast with the other options:
Monolithic kernel with modules (e.g., Linux with loadable kernel modules): every service, including drivers, still runs inside one kernel address space -- XNU instead separates Mach's primitives from the BSD services, so this label does not fit.
Pure microkernel: only minimal services (IPC, scheduling) sit in kernel space, with drivers and file systems moved to user space -- XNU keeps BSD subsystems in kernel space too, so it is not a pure microkernel.
Pure monolithic kernel: every service, including drivers and the file system, runs in a single kernel address space -- XNU's Mach layer keeps IPC and memory management as a distinct, modular piece, so it is not a pure monolithic kernel.
XNU's blend of the Mach microkernel and BSD's in-kernel services is exactly what defines a hybrid kernel -- the classification that applies to OS X.