Ядро Архітектури
Ядро є основним компонентом операційної системи. Це привілейований режимний процес, який безпосередньо керує ресурсами апаратного забезпечення. Ключові обов’язки включають управління часом CPU, розподіл пам'яті та драйвери пристроїв.
Існують різні архітектури ядра: Монолітні ядра (якщо Linux) інтегрують усі служби ОС в один адресний простір, забезпечуючи швидкість, але потенційну нестабільність. Мікроядра мінімізують код, який працює в режимі ядра, підвищуючи надійність.
Управління процесами
Процес – це екземпляр програми, який виконується. ОС керує процесами за допомогою таких технік, як перемикання контексту – швидке перемикання між процесами для створення ілюзії одночасного виконання.
Процеси спілкуються за допомогою механізмів, таких як канали та спільна пам’ять, що дозволяє міжпроцесній комунікації (IPC). Алгоритми планування процесів визначають, який процес отримує час ЦП.
CPU Time = Scheduling Algorithm * Priority
Управління пам'яттю
Ефективне управління пам’яттю є критичним для продуктивності. ОС використовує такі методи, як віртуальна пам’ять, щоб дозволити програмам використовувати більше пам’яті, ніж фізично доступно, обмінюючи дані між оперативною пам’ятю та вторинними накопичами.
Таблиці сторінок відображають віртуальні адреси (використовувані процесами) на фізичні адреси в оперативній пам’яті. Захист пам’яті запобігає одному процесу пошкодженню пам’яті іншого.
Virtual Address = Physical Address + Page Offset
Файлові системи
Файлова система організовує дані на пристроях зберігання (жорсткі диски, SSD) у файли та каталоги. Поширені файлові системи включають NTFS (Windows), ext4 (Linux) та APFS (macOS).
Операційна система надає інтерфейс для доступу до файлів через системні виклики. Ці виклики дозволяють програмам читати, записувати, створювати та видаляти файли.
Часті запитання
Яка різниця між процесом і ниткою?
Процес – це незалежне середовище виконання з власним простором пам'яті. Нитка – це легка одиниця виконання в межах процесу, яка ділиться одним простором пам’яті.
Чому операційні системи використовують віртуальну пам’ять?
Віртуальна пам'ять дозволяє програмам працювати, які потребують більше пам'яті, ніж фізично доступно, покращуючи ефективність системи та забезпечуючи багатозадачність.
Що таке драйвер пристрою?
Драйвер пристрою – це програмний компонент, який дозволяє операційній системі спілкуватися з конкретними апаратними пристроями (наприклад, принтерами, мережевими картами).
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте SPH Fluid і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію SPH Fluid