As a part of OS distinguish three groups of components:
- the core containing the scheduler; the drivers of devices which are directly managing the equipment; network subsystem, file system;
- system libraries and
- cover with utilities.
The majority of programs as system (entering OS), and applied, are performed in an unprivileged ("user") operation mode of the processor and get access to the equipment (and, if necessary, to other nuclear resources and also resources of other programs) only by means of system calls. The core is performed in a kernel mode: in this sense say that OS (more precisely, its core) manages the equipment.
In determination of structure of OS the criterion of operational integrity (isolation) matters: a system should allow to use fully (including modification) the components. Therefore include in complete structure of OS also a set of work benches (from text editors to compilers, debuggers and binders).
The majority of modern operating systems represents well structured building block systems capable to development, expansion and transfer of new platforms. One of options of structurization of OS - selection of monolithic and micronuclear architecture.
Monolithic operating system
The monolithic operating system uses monolithic kernel which is arranged as one program working in a kernel mode. Such core is divided into the principal components and modules implementing additional functionality — for example, work with specific external devices and the Transition file systems from a user mode in a kernel mode is performed through system calls — the interface of operating system kernel.
Micronuclear operating system
The micronuclear operating system based on the microkernel working also in a kernel mode and performing only a minimum of functions on control of the equipment. In this case more high-level functions of the operating system are performed by dedicated components — the servers working in a user mode. Management and data exchange at the same time is performed through transmission of messages which delivery is one of basic functions of a microkernel Need of frequent switching between the user and exclusive operation modes causes reduction in the rate of work of such system in comparison with monolithic, however, with another of the parties does systems more flexible and upgradeable, adding, changing or excepting servers of a user mode. Besides, servers are well protected from each other, as well as any user processes.