An operating system is a program that manages the computer hardware.
It also provides a basis for application programs and acts as a intermediary between computer user and computer hardware.
The operating system is large and complex. It is divided into separate subsystems, each with carefully defined functions, input, output and function. This arrangement and relationship between subsystems or components of a complex system is called operating system structure.
Simple Structure
Some systems do not have a well defined structure. such system does not break the system into subsystems, and has no distinction between user and kernel modes. this system allows all programs direct access to the underlying hardware.
MS DOS is the best example of such a system. A few people was originally designed and implemented it. And gradually DOS became popular and important.
This simple layered approach is used by the original UNIX operating system.Almost all OS is in one large layer, the OS is not really divided into layered subsystems.
Layered Approach
- Partitioning of the system can be done using a layered approach. In the layered mode the operating system is divided into several layers or levels, each built on top of the bottom layers. Bottom layer (layer 0) hardware; High (layer N) user interface.
- Each layer rests on the layer below it, each using only the functions and services of the lower-level layers. Each layer is executed only with the operations provided by the lower layer layers. One layer does not need to know how these activities are implemented; One only needs to know what to do with these activities.
- Each layer hides the presence of certain data structures, functions, and hardware from high-level layers.
- The major difficulty with the layered approach involves appropriately defining the various layers. Because a layer can use only lower-level layers, careful planning is necessary.
- For example, for disk space used by virtual-memory algorithms, the device driver must be at a lower level than the memory-management routines, since memory management requires the ability to use disk space.
- Another problem with L-layered implementations is that they are less efficient than other types.
- For example, when a user program executes an I / O operation, it executes a trapped system call to the I / O layer, called the Memory Management layer, then the CPU-scheduling layer, which is then sent to the hardware.
- At each layer, the parameters can be modified, data needs to be passed and so on. Each layer adds an overhead to the system call; The net result is a system call, which takes longer than one in a non-layered system.
Previous Computer System Architecture
Comments
Post a Comment