OS Algorithm Simulator er et pedagogisk program som lar deg simulere algoritmene som får et operativsystem (OS) til å fungere.
Som du kanskje vet, er hovedmålet med et operativsystem å administrere fire ressurser:
- CPUen.
- Minnet.
- Inngang / utgang (I / O) -systemet.
- Filsystemet.
Hvert operativsystem inneholder flere algoritmer som gir funksjonene ovenfor. For eksempel:
- En CPU-planleggingsalgoritme velger hvilken prosess som skal ta CPUen i hvert øyeblikk.
- En annen algoritme har ansvaret for å ikke la en fastlåst situasjon skje når prosesser tildeler ressurser.
- En minneadministrasjonsalgoritme deler minnet i deler for hver prosess, og en annen bestemmer hvilke deler som skal byttes og hvilke som skal forbli i RAM. Tildeling kan være sammenhengende eller ikke. I sistnevnte tilfelle vil vi ha mer moderne mekanismer som personsøk eller segmentering. Deretter bestemmer en sideutskiftningsalgoritme hvilke sider som kan forbli i minnet og hvilke sider som ikke gjør det.
- En annen algoritme har ansvaret for å ta hensyn til alle forstyrrelsene som maskinvaren kan produsere til I / O-systemet.
- Og så videre.
For å forstå et operativsystem dypt, må man vite hvordan disse algoritmene fungerer, og hvorfor noen tilnærminger som virker rimelige har blitt kastet av kjente operativsystemer som Windows eller Linux. Målet med denne applikasjonen er å gi forklaringer om forskjellige tilnærminger til hvert problem og å illustrere hvordan hver algoritme fungerer ved hjelp av simuleringer. For det formålet inneholder denne appen noen eksempler, men den lar deg også gi dine egne datasett og sjekke hvordan hver algoritme ville utføre dem. Det er også viktig å si at i de fleste tilfeller inneholder denne applikasjonen ikke toppmoderne algoritmer, men forenklinger som vi anser bedre for læringsprosessen.
Egenskaper:
- Flere forebyggende og ikke-forebyggende algoritmer for prosessplanlegging:
* Førstemann til mølla
* Korteste jobb først
* Korteste gjenværende tid først
* Prioritetsbasert (ikke forebyggende)
* Prioritetsbasert (forebyggende)
* Rundt Robin
- Deadlock-algoritmer:
* Dødlåsing unngåelse (bankers algoritme).
- Sammenhengende minnetildeling * Første passform
* Passer best
* Verst passform
- Sideutskiftningsalgoritmer:
* Optimal utskifting av sider
* Først inn først ut
* Minst nylig brukt
* Først-inn-først-ut med ny sjanse
* Ikke ofte brukt
Aldring
- For hver algoritme:
* Det gjør det mulig å lage tilpassede datasett for simulering.
* Den inkluderer en testmodus for å teste din forståelse.