Monolithic kernel: A monolithic kernel has all OS services (including device drivers, network stacks,
file systems, etc.) running within the privileged mode of the processor.
A monolithic kernel is easier to make more efficient (because OS services can run completely without
switches from privileged to non-privileged mode) UNIX, Linux and Microsoft NT Micro kernel:
A micro-kernel, on the other hand, uses the privileged mode only for really core services, and has most of the device drivers and OS services running as “normal” tasks. Micro-kernel is more difficult to crash (an error in a device driver that doesn’t run in privileged mode is less likely to cause a system halt than an error occurring in privileged mode). QNX, FIASCO, VxWorks, and GNU/Hurd