OS Algorithm Simulator to aplikacja edukacyjna, która pozwala na symulację algorytmów, które sprawiają, że system operacyjny (OS) działa.
Jak być może wiesz, głównym celem systemu operacyjnego jest zarządzanie 4 zasobami:
- Procesor.
- Pamięć.
- System wejścia / wyjścia (I / O).
- System plików.
Każdy system operacyjny zawiera kilka algorytmów zapewniających powyższe funkcjonalności. Na przykład:
- Algorytm planowania procesora wybiera, który proces powinien zająć procesor w każdej chwili.
- Inny algorytm jest odpowiedzialny za zapobieganie zakleszczeniu, gdy procesy alokują zasoby.
- Algorytm zarządzania pamięcią dzieli pamięć na porcje dla każdego procesu, a inny decyduje, które części powinny zostać zamienione, a które powinny pozostać w pamięci RAM. Alokacja może być ciągła lub nie. W tym drugim przypadku będziemy mieli bardziej nowoczesne mechanizmy, takie jak stronicowanie czy segmentacja. Następnie algorytm zastępowania stron zadecyduje, które strony mogą pozostać w pamięci, a które nie.
- Inny algorytm jest odpowiedzialny za zwracanie uwagi na wszystkie przerwy, które sprzęt może wywołać w systemie we / wy.
- I tak dalej.
Aby dogłębnie zrozumieć system operacyjny, trzeba wiedzieć, jak działają te algorytmy i dlaczego niektóre podejścia, które wydają się rozsądne, zostały odrzucone przez dobrze znane systemy operacyjne, takie jak Windows czy Linux. Celem tej aplikacji jest wyjaśnienie różnych podejść do każdego problemu i zilustrowanie, jak działa każdy algorytm za pomocą symulacji. W tym celu ta aplikacja zawiera kilka przykładów, ale pozwala również na dostarczanie własnych zbiorów danych i sprawdzanie, jak każdy algorytm będzie na nich działał. Należy również powiedzieć, że w większości przypadków aplikacja ta nie zawiera najnowocześniejszych algorytmów, ale uproszczenia, które uważamy za lepsze dla procesu uczenia się.
Cechy:
- Kilka prewencyjnych i nie wywłaszczających algorytmów planowania procesów:
  * Kto pierwszy ten lepszy
  * Najpierw najkrótsza praca
  * Najpierw najkrótszy pozostały czas
  * Oparte na priorytetach (bez wywłaszczania)
  * Oparte na priorytetach (wywłaszczanie)
  * Round Robin
- Algorytmy zakleszczenia:
  * Unikanie zakleszczenia (algorytm bankiera).
- Ciągła alokacja pamięci   * Pierwsze dopasowanie
  * Najlepsze dopasowanie
  * Najgorsze dopasowanie
- Algorytmy zamiany stron:
  * Optymalna wymiana strony
  * First-In-First-Out
  * Najdawniej używane
  * First-In-First-Out z drugą szansą
  * Nie często używane
  * Starzenie się
- Dla każdego algorytmu:
  * Umożliwia tworzenie niestandardowych zestawów danych do symulacji.
  * Zawiera tryb testowy, aby sprawdzić swoje rozumienie.
Ostatnia aktualizacja
29 sie 2024