Coconote
AI notes
AI voice & video notes
Try for free
🖥️
Overview of Operating System Structures
Oct 13, 2024
Operating System Structures
Introduction
Discussing the structures of operating systems.
Previous discussion on multi-programming and multi-tasking systems.
Emphasis on the need for careful engineering of operating systems.
Overview of different structures used in operating system design.
Simple Structure
Early operating systems like MS-DOS.
Lack of defined structure; all layers access base hardware.
Vulnerability to crashes due to direct hardware access.
Example: Microsoft Disk Operating System (MS-DOS).
Simple structure leads to potential system crashes.
Limitations due to hardware like Intel 8088, which lacked hardware protection.
Monolithic Structure
Used by earlier Unix systems.
Contains a large kernel with many functionalities.
Structure: Kernel, Shells/Commands, System Libraries.
Difficult to implement and maintain due to complex single-level packing.
Challenges in adding or debugging functionalities.
Layered Structure
Operating system divided into layers.
Each layer has specific functionalities.
Easier to debug and maintain (focus on specific layers).
Challenges in design and efficiency.
Service requests pass through multiple layers, causing delays.
Protected hardware access.
Example of layering: Backing storage below memory management.
Microkernels
Reduces kernel size by removing non-essential components.
Core functionalities in the microkernel; others as system programs.
Communication through message passing.
Advantages: More functions in user mode; less risk of system crashes.
Disadvantages: Performance decrease due to system function overhead.
Modular Structure
Best current methodology using object-oriented programming.
Core kernel with dynamically loadable modules.
Resembles both layered and microkernel approaches.
More flexible: Any module can communicate with any other module directly.
Avoids overhead of message passing used in microkernels.
Summary
Structures: Simple, Monolithic, Layered, Microkernel, Modular.
Each has its own advantages and disadvantages.
Modular approach combines flexibility and efficiency, widely used in modern operating systems.
📄
Full transcript