OS Structure Flashcards
What development issues do OS’s have
- Understandability
- Maintainability
- Efficiency
How does a poorly defined operating system come about and what are the issues?
Often the result of evolution beyond original intended use.
Hard to understand and difficult to predict consequences of a change.
What is the structure of the Unix kernel and what is the effects of this?
Unix uses a layered structure.
Had a lack of modularity.
Impact of changes hard to predict.
How does the layered structure of Unix work?
Layer 0 = hardware
Layer N = user interface
Layer uses only the functions of next lowest layer, allows for reimplementation without changing other layers.
What issues does layering have?
Loss of efficiency from passing parameters in system calls between each of the layers.
Hard to decide appropriate levels for functions. Ordering is important as layer can only use the layers below them.
What is a microkernel?
Smaller, simpler kernel that only contains lowest level functions. - minimal process and memory management and communication facilities.
Implement everything else as a user-level process.
Microkernel advantages
Easier to extend or modify OS services
Increased reliability
Simplifies the process of changing the kernel
Microkernel disadvantages
Overhead involved in increased service calls due to non-essential kernel functionality now being in user space.
More expensive than traditional function/method call.
What is a modular kernel?
Object oriented approach
Kernel implements core functionality.
Dynamically links in additional functionality in the forms of modules.
Hybrid Systems
Combination of different structures, most common way to form a kernel.