2.6 - Operating-System Design and Implementation (p.68)
Design Goals
- Geen uniqe oplossing voor het samenstellen van een OS.
- Keuze voor hardware
- Type systeem:
- Batch, time-shared, single-user, multi-user, distributed, real-time, general purpose.
- Verdelen van eisen in 2 groepen:
Mechanisms and Policys
- De scheiding van het policy van het mechanism
- Policy = Geeft aan wat er gedaan moet worden.
- Mechanism = Geeft aan hoe iets gedaan moet worden.
- Belangrijk voor flexibiliteit.
- Grote kans dat policys veranderen over tijd.
- In het ergste geval zorgt zo`n verandering ervoor dat het mechanisme moet worden aangepast.
- Er moet een mechanisme moeten bedacht die geen verandering nodig heeft wanneer de policy veranderd.
Implementation
- Het programmeren van het OS.
- Een OS wordt meestal geschreven in C/C++, vroeger in Assembly.
- Voordelen voor schrijven in een hogere programmeertaal:
- Sneller programeren
- Compacter
- Makkelijker te begrijpen
- Makkelijker te porten (verplaatsen naar andere hardware)
- Nadelen:
- Verminderde snelheid
- Meer opslag nodig.
- Compilers kunnen betere assembly code maken door analyse etc dan een mens voor nieuwere systemen.
- Nieuwe systemen hebben veel meer verschillende pipelines/functional units.
- Memory manager en CPU scheduler zijn het meest critisch voor een optimaal werkend systeem.