Розділи 3
Програми
Програми дозволяють використовувати апаратні компоненти компʼютера для виконання цифрових операцій користувача.
Програмне забезпечення пристрою складається з кількох рівнів. Це необхідно для сумісності різних видів програм та апаратних компонентів. Зазвичай воно функціонує на трьох взаємоповʼязаних рівнях.
1. Низькорівневі прошивки (Firmware)
Це базовий програмний код, який «зашитий» безпосередньо в апаратні компоненти компʼютера. Він забезпечує первинну ініціалізацію та безпосередній контроль обладнання (наприклад, материнської плати).
Прошивка діє як найнижчий рівень абстракції: вона готує обладнання до передачі керування операційній системі або самостійно керує всією роботою, якщо пристрій простий і не має повноцінної ОС (як-от електронний термометр).
Приклади:
- мобільні пристрої — Bootloader (зазвичай закритий і жорстко привʼязаний до компонентів конкретного смартфона);
- ПК та ноутбуки — BIOS / UEFI та інші.
2. Операційні системи (ОС)
ОС розподіляє ресурси пристрою, керує памʼяттю і створює середовище для запуску потрібних програм як процесів. Операційні системи завжди розробляються під певну архітектуру процесора (наприклад, x86_64 для компʼютерів або ARM64 для смартфонів).
Від обраної ОС залежить, які програми можна встановити та які будуть доступні за замовчуванням.
Для ПК (архітектура x86_64)
- Закритий код: Windows, macOS (працює лише на техніці Apple).
- Відкритий код: різноманітні Linux- та BSD-дистрибутиви.
Для мобільних пристроїв (архітектура ARM64)
- Закритий код: iOS (лише для Apple).
- Відкритий код (база): Android.
3. Прикладне ПЗ — спеціалізовані програми та додатки
Розробляється та оптимізується під певне середовище виконання (операційну систему). Це дозволяє створювати програми одразу для широкого кола пристроїв, які підтримують цільову ОС — від доступу в Інтернет і спілкування в месенджерах до складної роботи з 3D-графікою.
Основні відмінності визначаються методами встановлення та ліцензіями розповсюдження.
Методи встановлення: програма та додаток
Функціонально вони можуть не відрізнятися.
- Програми — завантажуються вручну з офіційних сайтів у вигляді файлів для встановлення.
- Додатки — встановлюються через централізовані «магазини» (App Store, Google Play), які є частиною операційної системи. Це робить процес встановлення та оновлення централізованим.
Ліцензії розповсюдження: закритий і відкритий код
Закритий код
Розробляється та фінансується приватними компаніями. Код прихований.
- Безкоштовні: браузер Google Chrome.
- Платні (купівля або підписка): Microsoft Office (документи), Adobe Photoshop (графіка), Autodesk Maya, SolidWorks (3D-моделювання).
Відкритий код (Open Source)
Розробляється спільнотами інженерів та ентузіастів. Код відкритий для всіх; такі програми типово розповсюджуються безкоштовно. Розробка фінансується пожертвами, комерційними ліцензіями на розповсюдження або платною підтримкою. Відкритість коду дозволяє спільноті проводити власні аудити безпеки.
Приклади: LibreWolf (браузер), Keepass (парольний менеджер), LibreOffice (офісні задачі), GIMP (растрова графіка), Blender і FreeCAD (3D-моделювання), VirtualBox (віртуалізація), MySQL (база даних), Busybox (системні утиліти) та інші.