A hybrid operating system is an operating system that integrates features and functions from different operating system architectures. An operating system architecture is the design and implementation of the core components of an operating system, such as the kernel, the drivers, the file system, and the user interface. Common operating system architectures include monolithic, microkernel, and exokernel. Monolithic kernels, such as Linux, Windows, and MacOS are single large programs that run in privileged mode and provide all services to user and application programs. Microkernels, such as QNX, Minix, and Mach are small programs that run in privileged mode and provide basic services such as interprocess communication, memory management, and scheduling. Exokernels, such as ExOS, Xok, and Nemesis are minimal programs that run in privileged mode and provide only hardware access and protection. Hybrid operating systems combine elements from different architectures to achieve better performance, flexibility, reliability or security. For example, Windows NT is a hybrid operating system that uses a microkernel for the core services and a monolithic kernel for the drivers and subsystems.