Operating-System Structure
A common approach is to partition the task into small components rather than have one monolithic system.
The first problem in designing a system is to define goals and specifications. At the highest level, the design of the system will be affected by the choice of hardware and the type of system.
Once an operating system is designed, it must be implemented. Traditionally, operating systems have been written in assembly language. Now, however, they are most commonly written in higher-level languages such as C or C++.
1. Simple Structure (Monolithic Kernel)
A common approach is to partition the task into small components rather than have one monolithic system .Many commercial systems do not have well-defined structures. Frequently, such operating systems started as small, simple, and limited systems and then grew beyond their original scope. MS-DOS is an example of such a system.
2 Layered Approach
A system can be made modular in many ways. One method is the layered approach, in which the operating system is broken up into a number of layers (levels). The bottom layer (layer 0) is the hardware; the highest (layer N) is the user interface.
The main advantage of the layered approach is simplicity of construction and debugging.
3 Microkernels
This method structures the operating system by removing all nonessential components from the kernel and implementing them as system and user-level programs.
4 DYNAMICALLY LOADED MODULES/MODULES:
Perhaps the best current methodology for operating-system design involves using object oriented programming techniques to create a modular kernel. Here, the kernel has a set of core components and dynamically links in additional services either during boot time or during run time. Such a strategy uses dynamically loadable modules and is common in modern implementations of UNIX, such as Solaris and Linux.
In this structure the kernel has a set of core components and links in additional services either during boot time or during run time. Such a strategy uses dynamically loadable modules and is common in modern implementations of UNIX, such as Solaris, Linux, and Mac OS X.
Such design allows the kernel to provide core services yet also allows certain features to be implemented dynamically. For example, device and bus drivers for specific hardware can be added as loadable modules. The overall result resembles a layered system in that each kernel section has defined, protected interfaces; but it is more flexible than a layered system in that any module can call any other module. Furthermore, the approach is like the microkernel approach in that the primary module has only core functions and knowledge of how to load and communicate with other modules; but it is more efficient, because modules do not need to invoke message passing in order to communicate. In structure-wise, it looks like microkernel, but it works like a monolithic kernel in the end.
// An operating system provides us an environment to run the varois programs and function. It is only because of the operating system that we are able to communicate with the hardware.It acts as the inface between us and the hardware.Operating systems provide us several feature such as interference,input/output, error detection, security, resource allocation etc.To handle all these situation smoothly and efficently operating system requried to designed properly.//
PLEASE NOTE : The highlighted part (text in red color) is the answer to your question however i have mention all four type of structure of OS for your better understanding Thankyou.
Get Answers For Free
Most questions answered within 1 hours.