OS Algorithm Simulator er en uddannelsesmæssig applikation, der giver dig mulighed for at simulere de algoritmer, der får et operativsystem (OS) til at fungere.
Som du måske ved, er hovedformålet med et operativsystem at styre 4 ressourcer:
- CPU'en.
- Hukommelsen.
- Input / Output (I / O) -systemet.
- Filsystemet.
Hvert operativsystem indeholder flere algoritmer, der giver ovenstående funktioner. For eksempel:
- En CPU-planlægningsalgoritme vælger, hvilken proces der skal tage CPU'en i hvert øjeblik.
- En anden algoritme har ansvaret for ikke at lade en blokering ske, når processer tildeler ressourcer.
- En hukommelsesadministrationsalgoritme deler hukommelsen i dele for hver proces, og en anden beslutter, hvilke dele der skal byttes, og hvilke der skal forblive i RAM. Tildeling kan være sammenhængende eller ej. I sidstnævnte tilfælde vil vi have mere moderne mekanismer såsom personsøgning eller segmentering. Derefter bestemmer en sideudskiftningsalgoritme, hvilke sider der kan forblive i hukommelsen, og hvilke sider ikke.
- En anden algoritme har ansvaret for at være opmærksom på alle de afbrydelser, som hardwaren kan producere til I / O-systemet.
- Og så videre.
For at forstå et operativsystem dybt, skal man vide, hvordan disse algoritmer fungerer, og hvorfor nogle tilgange, der synes rimelige, er blevet kasseret af kendte operativsystemer som Windows eller Linux. Målet med denne applikation er at give forklaringer om forskellige tilgange til hvert problem og illustrere, hvordan hver algoritme fungerer ved hjælp af simuleringer. Til dette formål indeholder denne app nogle eksempler, men det giver dig også mulighed for at give dine egne datasæt og kontrollere, hvordan hver algoritme ville udføre dem. Det er også vigtigt at sige, at denne applikation i de fleste tilfælde ikke indeholder de nyeste algoritmer, men forenklinger, som vi anser bedre for læringsprocessen.
Funktioner:
- Flere forebyggende og ikke-forebyggende procesplanlægningsalgoritmer:
* Først til mølle får først malet
* Korteste job først
* Korteste resterende tid først
* Prioritetsbaseret (ikke forebyggende)
* Prioritetsbaseret (forebyggende)
* Runde Robin
- Deadlock-algoritmer:
* Deadlock undgåelse (bankmandens algoritme).
- Sammenhængende hukommelsesallokering * Første pasform
* Bedste pasform
* Værst pasform
- Sideudskiftningsalgoritmer:
* Optimal udskiftning af sider
* Først ind først ud
* Mindst for nylig brugt
* First-In-First-Out med anden chance
* Ikke hyppigt brugt
Aldring
- For hver algoritme:
* Det tillader oprettelse af brugerdefinerede datasæt til simulering.
* Det inkluderer en testtilstand for at teste din forståelse.