OS Algorithm Simulator APP
Zoals u wellicht weet, is het hoofddoel van een besturingssysteem het beheren van 4 bronnen:
- De CPU.
- De herinnering.
- Het Input / Output (I / O) -systeem.
- Het bestandssysteem.
Elk besturingssysteem bevat verschillende algoritmen die de bovenstaande functionaliteiten bieden. Bijvoorbeeld:
- Een CPU-planningsalgoritme kiest welk proces de CPU op elk moment moet gebruiken.
- Een ander algoritme zorgt ervoor dat er geen impasse ontstaat wanneer processen middelen toewijzen.
- Een algoritme voor geheugenbeheer verdeelt het geheugen in delen voor elk proces, en een ander algoritme beslist welke delen moeten worden verwisseld en welke in RAM moeten blijven. Toewijzing kan aaneengesloten zijn of niet. In het laatste geval hebben we modernere mechanismen zoals paging of segmentatie. Vervolgens zal een algoritme voor het vervangen van pagina's beslissen welke pagina's in het geheugen kunnen blijven en welke pagina's niet.
- Een ander algoritme is verantwoordelijk voor het letten op alle onderbrekingen die de hardware kan veroorzaken in het I / O-systeem.
- Enzovoort.
Om een besturingssysteem grondig te begrijpen, moet men weten hoe deze algoritmen werken en waarom sommige benaderingen die redelijk lijken, zijn weggegooid door bekende besturingssystemen zoals Windows of Linux. Het doel van deze applicatie is om uitleg te geven over verschillende benaderingen van elk probleem en om te illustreren hoe elk algoritme werkt door middel van simulaties. Voor dat doel bevat deze app enkele voorbeelden, maar je kunt er ook je eigen datasets mee aanleveren en controleren hoe elk algoritme daarop zou presteren. Het is ook belangrijk om te zeggen dat deze applicatie in de meeste gevallen niet de state-of-the-art algoritmen bevat, maar vereenvoudigingen die we beter achten voor het leerproces.
Kenmerken:
- Verschillende preventieve en niet-preventieve algoritmen voor procesplanning:
* Wie het eerst komt het eerst maalt
* Kortste taak eerst
* Kortste resterende tijd eerst
* Op prioriteit gebaseerd (niet-preventief)
* Op prioriteit gebaseerd (preventief)
* Round Robin
- Deadlock-algoritmen:
* Het vermijden van deadlock (algoritme van de bank).
- Aaneengesloten geheugentoewijzing * Eerste pasvorm
* Beste pasvorm
* Slechtste pasvorm
- Algoritmen voor het vervangen van pagina's:
* Optimale paginavervanging
* Als eerste erin, als eerste eruit
* Minst recent gebruikt
* First-In-First-Out met tweede kans
* Niet vaak gebruikt
* Veroudering
- Voor elk algoritme:
* Hiermee kunnen aangepaste datasets voor simulatie worden gemaakt.
* Het bevat een testmodus om uw begrip te testen.