Kernal Architectures

Read Complete Research Material



Table of content

Classic kernel architecture3

Existing problems of current kernel6

New architecture of operating system kernel7

Construct the new kernel7

Communication between the three kernel modules9

The three kernel modules10

Executing module11

Policy module12

Monitoring module17



Classic kernel architecture

Operating system implements two basic functions below : it must be simply use as extension machine and it must manage and distribute all kinds of resources reasonably as the manager of the computer system. In addition, some operating system also takes charge of the computer system's safety and provides application-specific services, such as networking, graphic interface and so on.

Linux and Windows family operating systems that are based on NT are most typical operating systems at the moment, but Linux focus on executing efficiency while Windows family pay more attention to convenient use. As to kernel architecture, Linux is a monolithic kernel operating system, and the whole kernel is very compact. Maintaining for this type of kernel is difficult, and the kernel takes up more memory space in running time. The architecture of Linux is shown in Fig. 1[6].

Fig. 1. Architecture of Linux.

On the other side, Windows is a microkernel operating system. As a result, it makes many operating system functions modularity and is easy for maintaining and extension for operating system. However, the system running efficiency is lower than monolithic kernel. It is worth noting that the graphics drivers of Windows operating system are directly running on the hardware, thus Windows have better graphics capabilities, which makes up for the lower running efficiency. The architecture of Windows operating system is shown in Fig. 2[7].

Fig. 2. Architecture of Windows NT.

Actually, it is difficult to distinguish between monolithic kernel and microkernel because there is one trend of kernel development: the services provided by operating system that has a monolithic kernel are more modular, that is to say, this kind of operating system allow dynamic loading, while the services provided by operating system that has a microkernel are more integrated into kernel. So, the kernel architectures of almost all the current operating systems are hybrid kernels that are between monolithic kernels and microkernels. Linux and Windows is the case. Besides, there are peculiar kernels (such as nanokernels and exokernels) that will not be discussed in this paper.

Existing problems of current kernel

No matter for monolithic kernel, microkernel, or hybrid kernel, there is only one kernel in the operating system. This kernel not only monopolizes the rights of assigning all the system resources, but also holds the actual executing rights and safety monitoring. So the existing problems of current operating system kernel architecture are as follows at least: firstly, to some degree, single program (even if it is operating system) monopolizes all the software or hardware resources of system. Secondly, operating system is also a program that often makes mistakes, such as system error, system halt, BSOD and so on. If an error occurs in the kernel level, the whole system would crash. Finally, some applications can make use of some mechanisms in the operating system to capture the CPU time to execute all kinds of malicious or ...