- Perhaps the best current methodology for operating-system design involves using object-oriented programming techniques to create a modular kernel.
- Here, the kernel has a set of core components and dynamically links in additional services either during boot time or during run time. Such a strategy uses dynamically loadable modules and is common in modern implementations of UNIX, such as Solaris, Linux, and Mac OS X.
- For example, the Solaris OS structure, shown in Fig. 2.42, is organized around a core kernel with seven types of loadable kernel modules.
Figure 2.42:
Solaris loadable modules.
|
- Such a design allows the kernel to provide core services yet also allows certain features to be implemented dynamically. For example, device and bus drivers for specific hardware can be added to the kernel, and support for different file systems can be added as loadable modules.
- The overall result resembles a layered system in that each kernel subsection has defined, protected interfaces; but it is more flexible than a layered system in that any module can call any other module.
Cem Ozdogan
2011-02-14