360 words [ 1 Weblinks ] - Last update: 2016-10-16 Page created: 2004-04-03 [SB]
Operating system core
Microkernel A microkernel is generally built up strongly modularized. The actual system core cares about the communication channels (message passing) between the user mode modules for the functional tasks. The kernel contains the most important functions like the process administration (tasks and threads), scheduler, virtual memory management and interprocess communication (IPC). The kernel is programmed most in the standard languages like C or C++. Another advantage is the porting to other platforms such as small embedded devices. Particularly his scaling ability makes it to the first choice for massive parallel designed systems. This core structure is typical of BeOS and Minix for example. Real time operating systems have to be easily realized with a microkernel because it is relatively kept small by the only most necessary functions. Example of it is the QNX operating system.
Summarized the advantages lie in the flexibility, compact size, clear organisation and easier scalability. The disadvantages have an effect on a slight delay by the additional overhead for the system calls and effortful programming of the communication channels.
The Carnegie Mellon University developed one microkernel from 1985 to 1994, this one is find in many operating systems up to this day. The project Mach created this reference core design. The concept was used in NeXT OS, OSF/1, OS/2 and many others more. Most implementations differ from the typical Mach kernel design. The kernel in NeXTStep provides different extensions. IBM already uses the version 3.0 of the Mach microkernel for her Workplace OS. Another abstraction of the reference is the Windows NT kernel, the so-called Executive who represents a mixture of microkernel architecture and the layer model.
Monolithic kernel The monolithic kernel represents one single executable file with all close system components united. Drivers, process-, memory- and file system management are located together in one great kernel. Driver modules can be loaded dynamically in a limited way such as network or SCSI driver software. Typical operating systems are MS-DOS, Multics, UNIX and Linux. The kernel runs in privileged kernel mode of the CPU, single components can be paged into modules such as driver software like in the Linux operating system.