5

System: Application

OS: Scheduler, VMM, IPC, FS Drivers, dispatchers, VFS

The above would be a monolithic kernel. In a monolithic kernel all core OS functions are separate from user space. Functions such as the FS are handled completely by the kernel. This leaves the end user/dev open to write applications that rely solely on the kernel to emulate and process the functions. The BSD tree, AIX, and HP-UX are good examples of monolithic kernels.

System: Application

User Mode: Application IPC, Unix Server, Drivers, File Server

OS: Basic IPC, VMM, Scheduling

This is a microkernel. A microkernel is responsible solely for physical emulation of the machine code. It provides a more secure functionality, but also allows for better hardware processing. User space is where drivers are handled, sometimes grating DMA. Also, it can improve computing processing time if the user space is streamlined for direct machine emulation. JXOS and various nanokernels are good examples.

System: Application

User Mode: Drivers, Unix Server, Application IPC

OS: Microkernel, Kernel Drivers, IPC, HAL

This is a hybrid kernel. A hybrid kernel is mix between a monolithic kernel and a microkernel. Software drivers are handled in user mode, but hardware drivers are handled by the kernel. This allows for a lot of flexibility in design, as some packages and application functions can run directly against the kernel. However, this leaves the kernel open to a lot of security vulnerabilities. The most well-known hybrid kernel is Windows NT.

My architect was testing my knowledge of kernels, and this is what I sent him. He said that I wasn't wrong, I just have a very different approach to it. When interrogated about it, he just told me it was different. How is it different? Does it look different?

closed as too broad by slm, Anthon, Timo, Jenny D, Hauke Laging Apr 4 '14 at 0:56

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • This seems like it would be more appropriate for cs.stackexchange.com. It's not really specific to Unix/Linux, particularly since you mention Windows NT. – Barmar Apr 2 '14 at 20:03
  • This question appears to be off-topic. – Hauke Laging Apr 4 '14 at 0:56

Browse other questions tagged or ask your own question.