Monolithic
A monolithic
kernel is an operating system architecture where the entire operating system is
working in the kernel space and alone as supervisor mode. The monolithic
differs from other operating system architectures (such as the microkernel architecture)
in that it defines alone a high-level virtual interface over computer hardware,
with a set of primitives or system calls to implement all operating system
services such as process management, concurrency, and memory management itself and
one or more device drivers as modules.
Properties of Monolithic Kernels
• OS is all in
one place, below the “red line”
• Applications
use a well-defined system call interface to interact with kernel
• Examples: Unix, Windows NT/XP, Linux, BSD, OS/161
• Common in
commercial systems
Advantages and disadvantage
Microkernel
Microkernel is
the only software executing at the most privileged level (generally referred to
as supervisor or kernel mode).[citation needed] Traditional operating system
functions, such as device drivers, protocol stacks and file systems, are
removed from the microkernel to run in user space.[citation needed] In source
code size, microkernels tend to be under 10,000 lines of code, as a general
rule. MINIX's kernel, for example has less than 6,000 lines of code.
Properties of Microkernels
• Design
Philosophy: protected kernel code
provides minimal “small, clean, logical” set of abstractions
• Tasks and
threads
• Virtual memory
• Interprocess
communication
• Everything
else is a server process running at user-level
• Examples:
Mach, Chorus, QNX, GNU Hurd
• Mixed results
Microkernel Advantages and disadvantage
No comments:
Post a Comment