ГоловнаСтаттіComputer Science

Операційні системи

Операційна система (ОС) - це системне програмне забезпечення, яке керує апаратними ресурсами комп'ютера та надає сервіси для програмних додатків. Вона є мостом між апаратурою та користувацькими програмами, забезпечуючи ефективне використання ресурсів та зручний інтерфейс для користувачів.

mysimulator teamОновлено — липень 2026≈ 3 хв читання▶ Відкрити симуляцію

🎯 Вступ до операційних систем

Операційна система (ОС) - це системне програмне забезпечення, яке керує апаратними ресурсами комп'ютера та надає сервіси для програмних додатків. Вона є мостом між апаратурою та користувацькими програмами, забезпечуючи ефективне використання ресурсів та зручний інтерфейс для користувачів.

🔑 Основні функції ОС:

Управління процесами: Створення, планування та завершення процесів

Управління пам'яттю: Розподіл та захист пам'яті

Файлові системи: Організація та доступ до даних

Управління пристроями: Абстракція апаратних ресурсів

🏗️ Архітектура операційної системи

📊 Шари архітектури

👤 Користувацькі програми

Додатки, що працюють у користувацькому режимі

🔧 Системні виклики

Інтерфейс між користувацькими програмами та ядром

🧠 Ядро ОС

Керування процесами, пам'яттю, файлами

🔌 Драйвери пристроїв

Програмне забезпечення для керування апаратурою

⚡ Апаратура

Процесор, пам'ять, диски, мережеві пристрої

🔄 Типи ядер

Всі компоненти ядра працюють в одному адресному просторі.

Приклади: Linux, FreeBSD

Переваги: Висока продуктивність

Недоліки: Складність розробки та налагодження

Мінімальне ядро з більшістю сервісів у користувацькому режимі.

Приклади: MINIX, QNX

Переваги: Модульність, надійність

Недоліки: Повільніша робота через перемикання контексту

Поєднання монолітного ядра з мікроядровими концепціями.

Приклади: Windows NT, macOS

⚙️ Управління процесами

🔄 Концепція процесу

Визначення процесу

Процес - це виконувана програма з власним адресним простором, регістрами та системними ресурсами.

Код програми: Інструкції для виконання

Дані: Змінні та структури даних

Стек: Локальні змінні та адреси повернення

Куча: Динамічно виділена пам'ять

PCB: Блок керування процесом

📋 Планування процесів

Процеси обробляються в порядку надходження.

Недоліки: Ефект конвою, низька пропускна здатність

Процес з найменшим часом виконання обирається першим.

Переваги: Мінімальний середній час очікування

Недоліки: Голодування довгих процесів

Кожен процес отримує фіксований квант часу.

Переваги: Справедливість, відсутність голодування

Процеси з вищим пріоритетом виконуються першими.

Різновиди: Статичний та динамічний пріоритет

🔄 Перемикання контексту

Процес перемикання контексту

Збереження стану поточного процесу

Вибір наступного процесу для виконання

Відновлення стану обраного процесу

Передача керування новому процесу

// Структура PCB (Process Control Block) struct PCB { int process_id; int priority; int state; // READY, RUNNING, BLOCKED int program_counter; int registers[16]; struct memory_info memory; struct file_descriptors files; // ... інші поля };

🧠 Управління пам'яттю

📊 Організація пам'яті

Логічна структура пам'яті

Виконувані інструкції програми

Глобальні та статичні змінні

Динамічно виділена пам'ять

Локальні змінні та адреси повернення

🔄 Віртуальна пам'ять

Концепція віртуальної пам'яті

Віртуальна пам'ять дозволяє процесам використовувати більше пам'яті, ніж фізично доступно, завдяки використанню дискового простору як розширення ОЗП.

Збільшення обсягу доступної пам'яті

Захист пам'яті між процесами

Спільне використання коду та даних

📄 Підкачка сторінок

Сторінка, що завантажилася першою, вивантажується першою.

Проблема: Ефект Belady

Вивантажується сторінка, до якої найдовше не було доступу.

Переваги: Хороша продуктивність

Вивантажується сторінка з найменшою частотою використання.

📁 Файлові системи

🗂️ Структура файлової системи

Основні компоненти

Суперблок: Метадані файлової системи

Інод (inode): Метадані файлу

Блоки даних: Фактичний вміст файлів

Каталоги: Структура імен файлів

🔗 Типи файлових систем

Журнальна файлова система з підтримкою великих файлів.

Особливості: 16TB файли, 1EB файлова система

Нова технологія файлової системи з журналюванням.

Особливості: Шифрування, стиснення, жорсткі посилання

Apple File System з оптимізацією для SSD.

Особливості: Клонування, моментальні знімки

Файлова система з вбудованим RAID та контрольними сумами.

Особливості: Захист від пошкоджень, стиснення

📊 Кешування та буферизація

Рівні кешування

Кеш процесора: L1, L2, L3 кеші

Кеш ОЗП: Буфери в оперативній пам'яті

Кеш диска: Буфери на диску

жива демонстрація · пов'язана симуляція● LIVE

🔒 Безпека та захист

🛡️ Принципи безпеки

Перевірка особи користувача (логін, пароль, біометрія)

Визначення прав доступу до ресурсів

Логування та моніторинг дій користувачів

🔐 Моделі безпеки

Власник ресурсу визначає права доступу.

Приклад: Права доступу до файлів в Unix

Система примусово контролює доступ на основі міток безпеки.

Приклад: SELinux, AppArmor

Права доступу надаються на основі ролей користувачів.

Приклад: Адміністратор, користувач, гість

🌐 Мережеві можливості

🔌 Мережевий стек

HTTP, FTP, SSH, DNS

TCP, UDP

IP, ICMP, ARP

Ethernet, WiFi

Кабель, радіосигнали

☁️ Віртуалізація

🖥️ Типи віртуалізації

Гіпервізор працює безпосередньо на апаратурі.

Приклади: VMware ESXi, Hyper-V, Xen

Гіпервізор працює поверх операційної системи.

Приклади: VMware Workstation, VirtualBox

Віртуалізація на рівні операційної системи.

Приклади: Docker, LXC, Kubernetes

🎯 Практичні застосування

💻 Системне програмування

Розробка драйверів, системних утиліт, вбудованих систем

🌐 Серверні системи

Linux сервери, Windows Server, Unix системи

📱 Мобільні пристрої

Android, iOS, вбудовані операційні системи

☁️ Хмарні обчислення

Віртуалізація, контейнери, мікросервіси

📚 Рекомендована література

"Operating System Concepts" - Silberschatz, Galvin, Gagne

"Modern Operating Systems" - Andrew Tanenbaum

"Linux Kernel Development" - Robert Love

"Windows Internals" - Mark Russinovich, David Solomon

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Hash Function Avalanche Visualizer і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Hash Function Avalanche Visualizer

Що ви знайшли?

Додати кроки відтворення (опційно)