above, monolithic cores have become modular. In this type of kernel security check failure only the fundamental parts of the system are grouped in a single (monolithic) code block. Other functions, such as hardware drivers, are grouped into different modules that can be separated from both a code and a binary viewpoint.
The vast majority of current systems use this technology: Linux , most BSD or Solaris . For example, with the Linux kernel security check failure , some parts may be uncompiled or compiled as loadable modules directly into the kernel security check failure The modularity of the kernel allows on-demand loading of features and increases configuration possibilities. Thus file systems can be loaded independently, a device driver changed, and so on. The Linux distributions , for example, benefit loadable modules during installation. All the pilotsmaterials are compiled as modules. The kernel can then support the huge variety of hardware found in PC-compatible . After installation, when starting the system, only the drivers corresponding to the hardware actually present in the machine are loaded into RAM. The memory is saved.
Modular monolithic nuclei retain the main advantages of the pure monolithic nuclei from which they come. Thus, the ease of design and development is generally maintained and the execution speed remains excellent. The use of modules involves splitting the source code of the kernel into independent blocks. These blocks improve the organization and clarity of the source code and also facilitate maintenance.
Modular monolithic cores also retain a large defect in pure monolithic cores: an error in a module jeopardizes the stability of the whole system. The tests and certifications of these components need to be further developed.
From a theoretical point of view, the large number of lines of code executed in kernel mode causes portability problems. The practice largely contradicts the theory and the modular kernel security check failure are today the most worn.
Architecture of a micro-kernel system.
The limitations of monolithic nuclei have led to a radically different approach to the notion of nucleus: micro-nuclei systems.
Micro-kernel systems seek to minimize kernel-dependent functionality by placing most of the operating system services outside that kernel, that is, in the user space . These features are then provided by small, independent servers that often have their own address space.
A few basic functions are kept in a minimalist core called “micronucleus” . All the features usually offered by the monolithic cores are then provided by the services moved in user space and by this micro-kernel. This software package is called “enriched micronucleus” .
This principle has great theoretical advantages: by removing “at-risk” services from the critical parts of the operating system that are grouped together in the kernel security check failure it makes it possible to gain in robustness and reliability, while facilitating maintenance and scalability. On the other hand, the communication mechanisms ( IPC ), which become fundamental to ensure the passage of messages between the servers, are very heavy and can limit the performances.