OS Algorithm Simulator е образователно приложение, което ви позволява да симулирате алгоритмите, които правят операционната система (OS) да работи.
Както може би знаете, основната цел на операционната система е да управлява 4 ресурса:
- Процесорът.
- Паметта.
- Системата за вход / изход (I / O).
- Файловата система.
Всяка ОС съдържа няколко алгоритма, които осигуряват горепосочените функционалности. Например:
- Алгоритъм за планиране на процесора избира кой процес да отнеме процесора във всеки един момент.
- Друг алгоритъм е отговорен за недопускане на задънена улица, когато процесите разпределят ресурси.
- Алгоритъм за управление на паметта разделя паметта на части за всеки процес, а друг решава кои части трябва да се разменят и кои да останат в RAM. Разпределението може да бъде съседно или не. В последния случай ще имаме по-модерни механизми като пейджинг или сегментиране. След това алгоритъмът за подмяна на страници ще реши кои страници могат да останат в паметта и кои не.
- Друг алгоритъм е отговорен за обръщането на внимание на всички прекъсвания, които хардуерът може да създаде на I / O системата.
- И така нататък.
За да се разбере дълбоко една операционна система, човек трябва да знае как работят тези алгоритми и защо някои подходи, които изглеждат разумни, са били отхвърлени от добре познатите операционни системи като Windows или Linux. Целта на това приложение е да предостави обяснения за различните подходи към всеки проблем и да илюстрира как всеки алгоритъм работи посредством симулации. За тази цел това приложение съдържа някои примери, но също така ви позволява да предоставите свои собствени набори от данни и да проверите как всеки алгоритъм ще се представи върху тях. Също така е важно да се каже, че в повечето случаи това приложение не съдържа най-модерните алгоритми, а опростявания, които считаме за по-добри за учебния процес.
Характеристика:
- Няколко алгоритми за планиране на превантивни и непрепятствени процеси:
* Кой превари, той завари
* Първо най-късата работа
* Първо най-краткото оставащо време
* Въз основа на приоритет (без предимство)
* Базирано на приоритет (превантивно)
* Кръгъл Робин
- Алгоритми за блокиране:
* Избягване на задънена улица (алгоритъм на банкера).
- Непрекъснато разпределение на паметта * Първо годни
* Най-подходящо
* Най-лошото прилягане
- Алгоритми за подмяна на страници:
* Оптимална подмяна на страници
* Първо в първото излизане
* Най-малко наскоро използвани
* Първо в първото излизане с втори шанс
* Не се използва често
* Стареене
- За всеки алгоритъм:
* Позволява създаването на персонализирани набори от данни за симулация.
* Включва тестов режим, за да проверите вашето разбиране.
Актуализирано на
29.08.2024 г.