2.7 - Operating-System Structure (p.70)
Simple Structure
- MSDOS = Application Program -> System Program -> MSDOS Device Drivers -> BIOS Device Drivers
- UNIX = Programs -> Kernel -> Hardware
- Moeilijk te onderhouden en te implementeren.
- MSDOS/UNIX geschreven voor functionaliteit, niet voor veiligheid.
- Interfaces/Functionaliteit niet goed gescheiden.
Layered Support
- Het opdelen van een OS in meerdere kleinere lagen, waarbij de lagen kunnen werken met de diensten die worden aangeboden door de laag onder zich.
- Elke laag kan apart worden ontwikkeld en debugged, mits de laag eronder al is gedebugged.
- Probleem, welke laag gaat waarop? Kip-en-het-Ei probleem, welke komt eerder?
- Minder efficient, een aanvraag van bovenaf moet door alle lagen heen voordat het bij de hardware komt.
Microkernels
- Verwijderen van alle niet essentiele onderdelen van de kernel.
- Implementeren van deze niet essentiele onderdelen als systeem applicaties.
- De kernel wordt zo klein en efficient mogelijk.
- Microkernels omvatten vaak alleen process, memory management en het uitwisselen van gegevens tussen applicaties.
- Minder efficient, waar ligt de balans? Al die systeem applicaties moeten worden geladen vanaf disk.
Modules
- Relatief kleine kernel, modules kunnen erin worden gelinkt wanneer nodig.
- Elk subsysteem heebt zijn eigen taken en interfaces, en zijn vrij om met andere modules te communiceren.