The operating system structure refers to the structure of the operating system. In the development process of the operating system, a variety of system structures have been produced, and almost every operating system has its own characteristics a structure. Generally speaking, according to the time of appearance, the operating system structure can be divided into monolithic Structures, modular structures, hierarchical structures, and microkernel structures.
Integral structure
The monolithic structure is also called a simple structure or no structure. In the early design and development of the operating system, the designer only focused on the realization of the function and obtaining high efficiency. The functions of the entire operating system are realized by one process, and these processes can call each other, which causes the operating system to become a collection of processes, and its internal structure is complex and chaotic. So such an operating system has no structure to speak of.
The biggest advantage of this early monolithic structure is that the interface is simple and direct, and the system is efficient, but it has many shortcomings: no readability, and no maintainability. Once a problem occurs in a certain process, any call to it exists. The process of the relationship must be modified, so it brings a lot of trouble to the debugging and maintenance personnel. Sometimes it is better to redesign and develop an operating system in order to modify the errors in the system. As a result, this early monolithic structure has become obsolete.
Modular structure
Modular structure refers to dividing the entire operating system into several modules according to functions, and each module implements a specific function. Communication between modules is only possible through predefined interfaces. In other words, the relationship between modules is limited to the transfer of interface parameters.
In this modular structure, the division of modules is not arbitrary. Instead, a certain principle must be followed, that is, the association between the module and its blocks should be as few as possible, and the association within the module should be as close as possible. The complex calling relationship between modules is reduced, and the structure of the operating system becomes clear: the internal parts of the module are closely connected so that each module has independent functions.
Hierarchy
The so-called hierarchical structure is to arrange all the functional modules of the operating system into several layers according to the function calling order, and the modules between the layers have only a one-way calling relationship (for example, only the upper or outer module is allowed to call the lower or inner module).
The advantages of layering are:
- Change the disorder of function realization to order, which can significantly improve the accuracy of the design.
- Change the complex dependencies between modules to one-way dependencies, that is, high-level software depends on low-level software.
- E.W.Dijkstra’s THE multiprogramming system published in 1968 was the first to propose a layered approach to operating systems. The whole THE system is divided into 6 layers.
Microkernel structure
The MicroKernel OS structure was developed in the 1990s. It is based on client and server architecture and adopts object-oriented technology. It can effectively support multiple processors and is very suitable for distributed systems.
The microkernel is a small kernel that can realize OS functions, runs in kernel state, and resides in memory, it is not a complete OS. Just to provide the basis for building a general OS. The basic functions of the microkernel include process management, memory management, inter-process communication, and I/O device management. At this time, the operating system is composed of two parts, namely the kernel running in the kernel mode and the process layer running in the user mode and running in the client and server mode.