Операційні системи
Ядро й системні виклики, планувальник і багатозадачність, віртуальна памʼять, файлові системи, драйвери, завантаження компʼютера та порівняння Windows, macOS, Linux і Android.
Що таке операційна система?
Операційна система (ОС) – це головна програма компʼютера, яка запускається першою і керує всім іншим. Вона стоїть посередині між «залізом» і людиною: ви кажете «відкрий фото», а ОС уже сама знаходить файл на диску, виділяє памʼять, дає команду відеокарті намалювати зображення. 🎯 Без ОС кожна програма мусила б сама вміти спілкуватися з кожною моделлю диска, принтера й відеокарти у світі. Операційна система бере це на себе й дає програмам єдиний зрозумілий набір команд. Саме тому одна й та сама гра запускається на тисячах різних компʼютерів. 💻 ОС є всюди, не лише в ПК: у смартфоні (Android, iOS), у телевізорі, банкоматі, розумному годиннику й навіть у бортовому компʼютері автомобіля.
Будова операційної системи
Програми не торкаються «заліза» напряму: усі запити проходять через ядро операційної системи
Головні завдання операційної системи
Що саме робить ОС, поки ви просто працюєте за компʼютером:
- ⚙️ Керує процесами – запускає, зупиняє програми й вирішує, яка з них зараз працює на процесорі.
- 🧠 Розподіляє памʼять – видає кожній програмі свою частину RAM і стежить, щоб вони не заважали одна одній.
- 📁 Керує файлами – організовує дані в папки, знаходить, зберігає й видаляє їх на диску.
- 🔌 Спілкується з пристроями – через драйвери керує клавіатурою, принтером, відеокартою, мережею.
- 🔒 Забезпечує безпеку – розділяє користувачів, перевіряє права доступу, ізолює програми одна від одної.
- 🖱️ Дає інтерфейс – робочий стіл, вікна й меню (або командний рядок), через які людина керує машиною.
Ядро Системи (The Kernel)
Уявіть, що комп'ютер – це величезний симфонічний оркестр (материнська плата, процесор, відеокарта, оперативна пам'ять). А Ядро Операційної системи – це ДИРИГЕНТ. Mozilla Firefox або гра не можуть просто взяти і щось намалювати на моніторі! Вони обов'язково "просять дозволу" (системний виклик) у диригента, і вже він віддає команду відеокарті. Ядро повністю відділене від звичайних програм в цілях безпеки.
Режим ядра і режим користувача
Процесор уміє працювати у двох режимах, і це головний захист усієї системи. 👤 Режим користувача (user mode) – тут живуть звичайні програми: браузер, ігри, редактори. Їм заборонено напряму чіпати «залізо» й памʼять інших програм. Якщо така програма зламається, впаде тільки вона. 👑 Режим ядра (kernel mode) – тут працює ядро, і йому дозволено все. Саме тому помилка в ядрі валить увесь компʼютер, а не одну вкладку браузера. 🛡️ Завдяки цьому поділу зламана або шкідлива програма не може стерти чужі дані чи «спалити» відеокарту: щоб дістатися до обладнання, їй доведеться ввічливо попросити ядро.
Системний виклик: як програма просить про послугу
💾 Ви натискаєте «Зберегти» в текстовому редакторі. Ось що відбувається насправді: 1️⃣ Редактор НЕ пише на диск сам. Він викликає системну функцію, наприклад write(). 2️⃣ Процесор перемикається з режиму користувача в режим ядра. 3️⃣ Ядро перевіряє права: «Чи має цей користувач дозвіл писати в цю папку?» 4️⃣ Файлова система вираховує, у які саме блоки диска покласти дані. 5️⃣ Драйвер диска віддає команду накопичувачу SSD. 6️⃣ Ядро повертає редактору відповідь «готово», процесор вертається в режим користувача. ⏱️ Усе це триває частки мілісекунди й повторюється тисячі разів на секунду – під час кожного кліку, натискання клавіші й завантаження сторінки.
Які бувають ядра
Архітектури ядер відрізняються тим, скільки коду працює з правами «бога»:
- 🧱 Монолітне ядро – усі служби (файли, мережа, драйвери) в одному великому блоці. Швидке, але помилка драйвера валить систему. Приклад: Linux.
- 🧩 Мікроядро – у режимі ядра лишається мінімум, решта працює як звичайні програми. Дуже надійне, але повільніше через постійний обмін повідомленнями. Приклад: QNX, MINIX.
- ⚖️ Гібридне ядро – компроміс: основне в ядрі, частина служб окремо. Приклади: Windows NT, macOS (XNU).
- 💡 Саме через надійність мікроядро QNX обирають для автомобілів і медичного обладнання, де збій неприпустимий.
Ілюзія багатозадачності
Ваш комп'ютер може мати 8 ядер в процесорі, проте у вас відкрито одночасно 100 вкладок в браузері, грає музика в Spotify і качається торрент. Як це працює? Це ІЛЮЗІЯ! Операційна система (її модуль Планувальник) просто миттєво перемикає процесор між завданнями. Вона дала процесору завдання: "Попрацюй над музикою 1 мілісекунду, тепер над грою 1 мілісекунду, тепер намалюй мишку". Це відбувається так швидко, що нам здається ніби все працює одночасно!
Як планувальник нарізає час процесора
Кожна програма отримує крихітний «квант часу» – перемикання відбувається тисячі разів на секунду
Як планувальник вирішує, кого пустити на процесор
Черга до процесора будується не навмання. Існує кілька класичних стратегій:
- 🥇 FCFS (перший прийшов – перший обслужений) – найпростіший, але одне довге завдання блокує всіх.
- 🔄 Round Robin (карусель) – кожному по рівному кванту часу по черзі. Саме так досягається «чуйність» системи.
- ⭐ За пріоритетами – важливіші завдання (звук, курсор, системні служби) пропускають уперед.
- 📊 Багаторівневі черги – ОС стежить за поведінкою програми: якщо вона довго рахує, її пріоритет знижують, щоб не «заморозити» інтерфейс.
- ⚠️ Проблема «голодування» – завдання з низьким пріоритетом може не дочекатися черги, тому ОС поступово підвищує пріоритет тим, хто довго чекає.
Процеси і потоки
Процес – це запущена програма разом із власною ділянкою памʼяті. Кожен процес ізольований: браузер не бачить памʼять текстового редактора, і навпаки. 🧵 Потік (thread) – це «гілка виконання» всередині процесу. Потоки одного процесу мають спільну памʼять, тому легко обмінюються даними, але можуть і заважати одне одному. 🌐 Приклад: браузер – це один застосунок, але кожна вкладка часто запускається окремим процесом. Тому коли одна сторінка «падає», решта вкладок живі. А всередині вкладки працюють потоки: один малює сторінку, другий завантажує картинки, третій програє відео.
Віртуальна памʼять: як ОС «обманює» програми
Кожна програма вважає, що весь обсяг памʼяті належить тільки їй і починається з адреси нуль. Насправді це вигадка, яку створює операційна система разом із процесором. 🗺️ ОС веде таблицю відповідності: віртуальна адреса програми → реальна комірка в RAM. Памʼять розбита на невеликі шматки – сторінки (зазвичай по 4 КБ), які можуть лежати де завгодно у фізичній памʼяті. ✅ Що це дає: програми не можуть залізти в чужу памʼять (безпека), памʼять не дробиться на непридатні шматочки, а якщо RAM бракує, рідковживані сторінки тимчасово переносяться на диск – і починає працювати файл підкачки.
Синій екран смерті (BSoD) та Файл Підкачки
Що робити, якщо 16 ГБ оперативної пам'яті у вашому комп'ютері ЗАВЕРШАТЬСЯ? Почне працювати "Файл Підкачки" (Swap): ОС бере частину вашого жорсткого диска (HDD/SSD) і бреше самій собі, що це оперативна пам'ять. Комп'ютер починає сильно "тормозити" (диск працює дуже повільно), проте не вимикається. Але якщо стається КРИТИЧНА помилка в самому ЯДРІ (через вірус, перегрів відеокарти чи кривий драйвер) – система спеціально виводить СИНІЙ ЕКРАН і вимикається (panic), щоб урятувати залізо від згорання і дані від повного стирання.
Файлові системи: як ОС наводить лад на диску
Диск сам по собі – це просто мільярди комірок. Перетворює їх на звичні папки й файли саме файлова система:
- 🪟 NTFS – стандарт для Windows. Права доступу, журналювання, шифрування, великі файли.
- 🍎 APFS – сучасна система macOS та iOS. Заточена під SSD, миттєві знімки стану диска.
- 🐧 ext4 – основна для Linux. Надійна, перевірена роками, стійка до збоїв живлення.
- 💾 FAT32 – стара й універсальна: читають усі пристрої, але не вміє файли більші за 4 ГБ.
- 🔌 exFAT – саме її обирають для флешок і карт памʼяті: без обмеження на розмір файлу й працює і у Windows, і в macOS.
- 📓 Журналювання – система спершу записує «що саме збирається зробити». Тому після раптового вимкнення світла диск не перетворюється на кашу.
Драйвери: перекладачі між ОС і пристроями
У світі існують тисячі моделей принтерів, і кожна «розмовляє» своєю мовою. Операційна система не може знати їх усі, тому виробник пише драйвер – невелику програму-перекладач. 🗣️ ОС каже загальну команду «надрукуй сторінку», а драйвер перетворює її на конкретні сигнали саме для цієї моделі. Тому новий пристрій іноді просить «встановити драйвер»: система отримує словник для спілкування з ним. ⚠️ Драйвери зазвичай працюють у режимі ядра, а отже мають максимальні права. Саме тому кривий або підроблений драйвер – одна з найчастіших причин синього екрана й ласа ціль для вірусів. Завантажуйте драйвери лише з сайту виробника.
Як компʼютер завантажується
Шлях від натискання кнопки живлення до робочого столу
Завантаження системи крок за кроком
⚡ Ви натиснули кнопку живлення. Далі за лічені секунди відбувається таке: 1️⃣ POST – мікропрограма UEFI (раніше BIOS) перевіряє, чи на місці процесор, памʼять і диск. Якщо ні – компʼютер пищить або показує помилку. 2️⃣ Пошук системи – UEFI шукає на дисках завантажувач (bootloader). 3️⃣ Завантажувач (Windows Boot Manager, GRUB) знаходить ядро ОС і завантажує його в оперативну памʼять. 4️⃣ Старт ядра – ядро бере керування компʼютером на себе й підіймає драйвери. 5️⃣ Системні служби – запускається головний процес (у Linux це systemd), який стартує мережу, звук, графіку. 6️⃣ Вхід – зʼявляється екран входу, після пароля завантажується ваш робочий стіл. 💡 Чому SSD так прискорює вмикання? Кроки 3-5 – це читання сотень файлів із диска. На SSD вони летять у рази швидше, ніж на HDD.
Сімейства операційних систем
Найпоширеніші ОС і чим вони відрізняються:
- 🪟 Windows (Microsoft, з 1985) – найпопулярніша для ПК. Максимум сумісності з іграми та навчальними програмами.
- 🍎 macOS (Apple) – лише для компʼютерів Apple, побудована на Unix. Популярна серед дизайнерів і відеомонтажерів.
- 🐧 Linux (з 1991) – відкритий код, безкоштовна, безліч варіантів (Ubuntu, Fedora, Mint). Керує більшістю вебсерверів світу.
- 🤖 Android (Google) – найпоширеніша ОС на планеті, працює на ядрі Linux. Смартфони, планшети, телевізори.
- 📱 iOS / iPadOS (Apple) – для iPhone та iPad, спільне коріння з macOS.
- 🌐 ChromeOS (Google) – легка система для Chromebook, майже все працює в браузері. Часто використовується в школах.
💡 Історія: від перфокарт до Linux
🕰️ Перші компʼютери 1950-х узагалі не мали ОС: програму подавали на перфокартах, і машина рахувала одну задачу за раз. Щоб перейти до наступної, оператор фізично міняв стос карток. 🏛️ 1969 рік, лабораторія Bell Labs: Кен Томпсон і Денніс Рітчі створюють Unix. Її ідеї – файли, права доступу, маленькі програми, що поєднуються між собою, – лягли в основу майже всіх сучасних систем. 🐧 1991 рік: 21-річний фінський студент Лінус Торвальдс пише власне ядро як хобі й публікує його у відкритому доступі. Він скромно назвав це «просто хобі, нічого серйозного». Сьогодні Linux працює у ваших смартфонах, у Netflix, у NASA і в кожному з 500 найпотужніших суперкомпʼютерів світу.
Цікаві факти про операційні системи
Те, що не завжди розповідають на уроках:
- 🏆 Усі 500 найпотужніших суперкомпʼютерів світу працюють на Linux – без жодного винятку.
- 🤖 Android – це теж Linux: у нього те саме ядро, просто з іншим «обличчям».
- 🍏 macOS офіційно сертифікована як справжня UNIX-система – як і деякі серверні ОС.
- 🐧 Талісман Linux – пінгвін на імʼя Тукс (Tux). Торвальдса колись вкусив пінгвін у зоопарку.
- 🚀 Космічні апарати й марсоходи використовують особливі ОС реального часу: там збій коштує мільярди.
- 📟 Ваша пральна машина, ліфт і банкомат теж мають операційну систему – просто дуже маленьку.
Операційні системи реального часу
Для звичайного компʼютера нормально, якщо програма відповіла на 200 мілісекунд пізніше – ви цього навіть не помітите. Але є системи, де запізнення означає катастрофу. ⏱️ ОС реального часу (RTOS) гарантують не «швидко», а точно в строк. Подушка безпеки має спрацювати рівно за 20 мілісекунд після удару – ні раніше, ні пізніше. 🚗 Де вони працюють: системи ABS та подушки безпеки в автомобілях, кардіостимулятори, промислові роботи, літаки, супутники. Найвідоміші – VxWorks (нею керувалися марсоходи NASA) та FreeRTOS для мікроконтролерів.
Віртуалізація і контейнери
Сучасна ОС уміє запускати всередині себе інші операційні системи. 🖥️ Віртуальна машина (VM) – програма (VirtualBox, VMware, Hyper-V) створює «компʼютер усередині компʼютера» з власним віртуальним процесором і диском. Так можна запустити Linux у вікні Windows. Для школи це знахідка: учні можуть безпечно експериментувати, а зламану систему просто видаляють і створюють заново. 📦 Контейнери (Docker) – легший варіант: вони не тягнуть за собою цілу ОС, а користуються ядром основної системи, ізолюючи лише саму програму з її налаштуваннями. Запускаються за секунди, тому на них тримається більшість сучасних інтернет-сервісів.
Як операційна система захищає ваші дані
Безпека – одна з головних функцій сучасної ОС:
- 👥 Облікові записи й права – адміністратор може все, звичайний користувач не зіпсує системні файли.
- 🛡️ Запит підтвердження (UAC у Windows) – важливі зміни потребують окремого дозволу, тому вірус не встановиться «тихо».
- 📦 Пісочниця (sandbox) – застосунок на смартфоні бачить лише свої файли й окремо просить доступ до камери чи контактів.
- 🔐 Шифрування диска (BitLocker, FileVault) – якщо ноутбук украдуть, без пароля дані прочитати не вийде.
- 🔄 Оновлення – закривають знайдені вразливості. Саме тому «оновити систему» це не примха, а базовий захист.
Практика: подивіться на ОС власними очима
🔍 Усе, про що йшлося вище, можна побачити просто зараз: WINDOWS Натисніть Ctrl + Shift + Esc – відкриється Диспетчер завдань. Вкладка «Процеси» показує всі запущені програми, скільки кожна зʼїдає процесора й памʼяті. macOS Відкрийте «Моніторинг системи» (Activity Monitor) через пошук Spotlight. LINUX У терміналі введіть команду top (або htop, якщо встановлено). 📊 Спробуйте дослідити: • Скільки процесів працює, коли ви «нічого не робите»? Зазвичай їх понад сотню – це системні служби. • Відкрийте кілька вкладок браузера й подивіться, як зростає споживання памʼяті. • Знайдіть процес, який займає найбільше процесора. ⚠️ Дивіться, але нічого не завершуйте примусово без потреби – можна закрити важливу системну службу.
📌 Головне з теми
Операційна система – це посередник між людиною, програмами й «залізом». Її серце – ядро, яке працює в захищеному режимі й має повний доступ до обладнання, тоді як звичайні програми змушені просити в нього дозволу через системні виклики. Запамʼятайте три ключові механізми: планувальник створює ілюзію багатозадачності, швидко перемикаючи процесор між завданнями; віртуальна памʼять дає кожній програмі власний ізольований простір; драйвери перекладають команди ОС на мову конкретних пристроїв. І головне: Windows, macOS, Linux, Android відрізняються зовні, але всередині розвʼязують ті самі задачі однаковими способами. Зрозумівши принципи на одній системі, ви легко розберетеся в будь-якій іншій.