OS Algorithm Simulator este o aplicație educațională care vă permite să simulați algoritmii care fac să funcționeze un sistem de operare (OS).
După cum știți, principalul obiectiv al unui sistem de operare este de a gestiona 4 resurse:
- CPU.
- Memoria.
- Sistemul de intrare / ieșire (I / O).
- Sistemul de fișiere.
Fiecare sistem de operare conține mai mulți algoritmi care oferă funcționalitățile de mai sus. De exemplu:
- Un algoritm de planificare CPU alege ce proces ar trebui să ia CPU în fiecare moment.
- Un alt algoritm este însărcinat să nu lase un impas atunci când procesele alocă resurse.
- Un algoritm de gestionare a memoriei împarte memoria în porțiuni pentru fiecare proces, iar altul decide ce porțiuni trebuie schimbate și care ar trebui să rămână în RAM. Alocarea poate fi contiguă sau nu. În acest din urmă caz vom avea mecanisme mai moderne precum paginarea sau segmentarea. Apoi, un algoritm de înlocuire a paginii va decide ce pagini pot rămâne în memorie și ce pagini nu.
- Un alt algoritm este responsabil de a acorda atenție tuturor întreruperilor pe care hardware-ul le poate produce sistemului I / O.
- Si asa mai departe.
Pentru a înțelege profund un sistem de operare, trebuie să știm cum funcționează acești algoritmi și de ce unele abordări care par rezonabile au fost eliminate de sisteme de operare bine cunoscute, cum ar fi Windows sau Linux. Scopul acestei aplicații este de a oferi explicații despre diferite abordări ale fiecărei probleme și de a ilustra modul în care funcționează fiecare algoritm prin intermediul simulărilor. În acest scop, această aplicație conține câteva exemple, dar vă permite, de asemenea, să furnizați propriile seturi de date și să verificați cum ar funcționa fiecare algoritm pe ele. De asemenea, este important să spunem că, în majoritatea cazurilor, această aplicație nu conține algoritmi de ultimă generație, ci simplificări pe care le considerăm mai bune pentru procesul de învățare.
Caracteristici:
- Mai mulți algoritmi de planificare a proceselor preventive și non-preventive:
* Primul venit, primul servit
* Cel mai scurt loc de muncă mai întâi
* Cel mai scurt timp rămas mai întâi
* Bazat pe prioritate (non-preventiv)
* Bazat pe prioritate (preventiv)
* Round Robin
- Algoritmi impas:
* Evitarea impasului (algoritmul bancherului).
- Alocare de memorie contiguă * Prima potrivire
* Cel mai potrivit
* Cea mai proastă potrivire
- Algoritmi de înlocuire a paginii:
* Înlocuirea optimă a paginii
* First-In-First-Out
* Cel mai recent folosit
* First-In-First-Out cu a doua șansă
* Nu este folosit frecvent
* Îmbătrânirea
- Pentru fiecare algoritm:
* Permite crearea de seturi de date personalizate pentru simulare.
* Include un mod de testare pentru a vă testa înțelegerea.