Вбудована операційна система — це операційна система, спеціально розроблена для вбудованих комп’ютерних систем. Ці системи мають на меті підвищення функціональності та надійності для виконання спеціалізованих завдань. Коли застосований метод багатозадачності дозволяє своєчасне виконання завдань, така ОС може класифікуватися як операційна система реального часу (RTOS).
Огляд
Вбудовані операційні системи є невід’ємною частиною побутової електроніки, такої як цифрова фотокамера та мобільний телефон. Крім того, вони використовуються в автомобільній електроніці, допомагаючи у таких функціях, як круїз-контроль та навігація. Також вони є необхідними для промислової автоматики. Повсякденні застосування EOS включають пристрої офісної автоматизації, такі як сканер, копіювальний апарат та бездротова точка доступу. Системи домашньої автоматизації, включаючи системи безпеки, також залежать від EOS.
Дизайн Вбудовані системи складаються з процесора та відповідного програмного забезпечення. Вбудоване програмне забезпечення потребує сховища для виконуваних файлів та тимчасової обробки даних під час виконання. Вбудовані системи зазвичай використовують ROM та RAM як компоненти пам’яті. Для функціонування вбудовані системи потребують інтерфейсів вводу та виводу. Конфігурації вбудованого апаратного забезпечення часто є унікальними та змінюються залежно від застосування. Враховуючи обмеження ресурсів апаратного забезпечення вбудованих систем, операційні системи проєктуються з вузькою спеціалізацією, адаптованою до конкретних застосувань для забезпечення оптимальної роботи в межах апаратних обмежень. Вибір вбудованої операційної системи, яка організовує та контролює апаратне забезпечення, часто визначає додаткові необхідні компоненти вбудованого апаратного забезпечення.
Розробники програмного забезпечення можуть писати основний код на мові асемблера, щоб використати повну обчислювальну потужність центрального процесора (CPU). Мова асемблера, будучи ефективною на рівні машини, може підвищити швидкість у детермінованих системах, але може зменшити портативність і супроводжуваність. Часто вбудовані операційні системи кодуються платформонезалежними мовами програмування, такими як C.
Історія Ранні системи Концепція ядра реального часу з багатозадачністю виникла наприкінці 1970-х років. У 1980-х роках, коли застосування вбудованих систем зростали в складності, операційні системи з ядрами багатозадачності реального часу почали не відповідати зростаючим вимогам розробки вбудованих систем. Це призвело до еволюції ядра багатозадачності реального часу у повноцінну операційну систему (RTOS), що включає можливості мережевої взаємодії, керування файлами, розробки та налагодження.
У 1981 році Ready System розробила VRTX32 — перше у світі комерційне ядро реального часу для вбудованих систем. У 1993 році, після злиття, Ready System і Microtec Research із Кремнієвої долини розробили два нові ядра RTOS — VRTX32 і VRTXsa, на основі VRTXmc. Одночасно було представлено інтегроване середовище розробки VRTX — Spectra.
У 1996 році Microsoft випустила свою вбудовану операційну систему Windows CE, яка підтримувала різні архітектури процесорів, включаючи x86, ARM, SH4 та MIPS. WinCE з того часу стала застарілою, причому основна підтримка завершилася у 2018 році.
OS-9 та VxWorks також є помітними вбудованими операційними системами.
Сучасні системи У сучасному світі інтернету речей (IoT) вбудовані пристрої є повсюдни, причому лише автомобілі використовують сотні сенсорів. Системи IoT, на відміну від традиційних вбудованих систем, вимагають нижчого енергоспоживання, підвищеної безпеки та надійності, а також здатності до ad hoc мереж. Рівень зв’язку має забезпечувати перетворення між різними протоколами, тоді як прикладний рівень повинен забезпечувати можливості хмарних обчислень через Інтернет.
Сучасні вбудовані операційні системи Кілька вбудованих операційних систем набули популярності, такі як варіанти вбудованого Linux (OpenWrt, Zeroshell, Android, LineageOS, LEDE, LibreCMC), OpenHarmony, Oniro OS, HarmonyOS, NetBSD, PX5 RTOS, ThreadX, FreeRTOS, SEGGER embOS, Tock, Windows IoT та інші.
Проєкти на базі Linux Численні проєкти, інструментарії та фреймворки на базі Linux були розроблені для створення операційних систем, що працюють на різноманітних вбудованих системах. Відомі приклади включають OpenEmbedded, BusyBox, uClibc, musl libc та Buildroot.
Примітки