extensibility (to add new functionality, it is enough to develop and load the
appropriate module in memory).
Multilevel Systems
Components of
multilevel OS form a hierarchy of levels (layers), each of
which relies on functions of the previous level. The lowest level interacts
directly with the hardware, the highest level implements system calls.
In traditional multilevel operating systems, transferring control from the top
to the bottom is implemented as a system call. The top-level must have the
right to execute this call and these rights are verified with the support of the
hardware. An example of such a system is the Multics OS, developed in the
'60s. The practical application of this approach is limited today because of
poor performance.
Levels can also be isolated in a monolithic kernel; in this case, they are
programmatically supported and cause system implementation to be
disrupted. In the monolithic system, a kernel determines the levels:
❖
Abstraction means from equipment that one interacts with the
hardware directly, releasing other components of the system from
such interaction
❖
Core kernels that are responsible for the most basic, simplest
kernel actions, such as writing a block of data to disk. By these
means, upper-level instructions are executed with the management of
resources
❖
Resource management tools (or resource managers) that implement
basic OS functions (process management, memory, input-output,
etc.). At this level, the most important resource management decisions
are made that are made using the core kernel
❖
A system call interface that is used to communicate with system
and application software