OS Algorithm Simulator on opetussovellus, jonka avulla voit simuloida algoritmeja, jotka saavat käyttöjärjestelmän toimimaan.
Kuten ehkä tiedät, käyttöjärjestelmän päätavoitteena on hallita 4 resurssia:
- Suoritin.
- Muisti.
- Tulo- / lähtöjärjestelmä (I / O).
- Tiedostojärjestelmä.
Jokainen käyttöjärjestelmä sisältää useita algoritmeja, jotka tarjoavat yllä olevat toiminnot. Esimerkiksi:
- Suorittimen ajoitusalgoritmi valitsee prosessin, jonka tulisi suorittaa prosessori kussakin hetkessä.
- Toinen algoritmi on vastuussa siitä, ettei umpikujaa tapahdu, kun prosessit jakavat resursseja.
- Muistinhallinta-algoritmi jakaa muistin osina kullekin prosessille, ja toinen päättää, mitkä osat tulisi vaihtaa ja mitkä pysyä RAM-muistissa. Kohdentaminen voi olla vierekkäistä tai ei. Jälkimmäisessä tapauksessa meillä on nykyaikaisempia mekanismeja, kuten henkilöhaku tai segmentointi. Sitten sivun korvaava algoritmi päättää, mitkä sivut voivat jäädä muistiin ja mitkä eivät.
- Toinen algoritmi vastaa siitä, että kiinnitetään huomiota kaikkiin keskeytyksiin, joita laitteisto voi tuottaa I / O-järjestelmälle.
- Ja niin edelleen.
Jotta ymmärtäisit käyttöjärjestelmän syvästi, on tiedettävä, miten nämä algoritmit toimivat ja miksi tunnetut käyttöjärjestelmät, kuten Windows tai Linux, ovat hylänneet jotkut järkevältä vaikuttavat lähestymistavat. Tämän sovelluksen tarkoituksena on antaa selityksiä jokaisen ongelman erilaisista lähestymistavoista ja havainnollistaa kunkin algoritmin toimintaa simulaatioiden avulla. Tätä tarkoitusta varten tämä sovellus sisältää joitain esimerkkejä, mutta sen avulla voit myös antaa omat tietojoukot ja tarkistaa, kuinka kukin algoritmi toimisi niillä. On myös tärkeää sanoa, että useimmissa tapauksissa tämä sovellus ei sisällä uusimpia algoritmeja, vaan yksinkertaistuksia, joita pidämme oppimisprosessin kannalta parempina.
Ominaisuudet:
- Useat prosessia ennalta ehkäisevät ja ennalta ehkäisevät algoritmit:
* Palvellaan saapumisjärjestyksessä
* Lyhin työ ensin
* Lyhin jäljellä oleva aika ensin
* Prioriteettipohjainen (ei-ennaltaehkäisevä)
* Prioriteettipohjainen (ennakoiva)
* Pyöreä Robin
- umpikuja-algoritmit:
* Umpikujan välttäminen (pankkiirin algoritmi).
- Viereinen muistin allokointi * Ensimmäinen sovitus
* Parhaiten sopiva
* Pahin sopiva
- Sivunvaihtoalgoritmit:
* Optimaalinen sivunvaihto
* Ensimmäinen sisällä ensimmäinen ulkona
* Viimeisimmät käytetyt
* First-in-first-out toisella mahdollisuudella
* Ei usein käytetty
* Ikääntyminen
- Jokaiselle algoritmille:
* Sen avulla voidaan luoda mukautettuja tietojoukkoja simulointia varten.
* Se sisältää testitilan ymmärryksen testaamiseksi.