Lecture 2
Lecture 2
Routines that interact with disks are typically at a very low level in the OS
Used by many components
Handle scheduling of disk operations, head movement,
Error handling and often management of space on disk
Command Interpreter
Information Services
Protection System
I/O System
OS Structure
An OS consists of all of these components, plus:
Many other components
Major issues:
How do we organize all this?
What are all the code modules, and where do they exist?
user programs
OS everything
hardware
Monolithic Design
Major Advantages:
Cost of module interaction is low
Disadvantages
Hard to understand
Hard to modify
Unreliable
Hard to maintain
What is alternative?
Find ways to organize the OS in order to simplify its design
and implementation.
Layering
The traditional approach is layering
Implement OS as a set of layers
above.
The first description of the system was Djakarta's THE system.
Layer 5: job managers
Layer 1: Kernel
Layer 0: Hardware
Problems with layering
Imposes hierarchical structure
but real system are more complex:
Goal:
Minimum functionality in the kernel. Most of the OS functionality
in user level servers.
Examples of servers are file servers, terminal servers,
memory servers etc.Each part becomes more manageable.
Crashing of one service doesn’t bring the system down.