Введение

Тип компьютерной операционной системы

Встроенная операционная система (EOS) – это операционная система, разработанная специально для встраиваемых компьютерных систем. Эти системы предназначены для повышения функциональности и надежности при выполнении специализированных задач. Если используемый метод многозадачности обеспечивает своевременное выполнение задач, такая ОС может быть отнесена к операционным системам реального времени (RTOS).

Обзор

Встроенные операционные системы являются неотъемлемой частью потребительской электроники, такой как камеры и мобильные телефоны. Кроме того, они обеспечивают работу автомобильной электроники, поддерживая функции, такие как круиз-контроль и навигация. Более того, они необходимы для инфраструктуры автоматизации производства. К повседневным применениям EOS относятся устройства для офисной автоматизации, такие как сканеры изображений, копировальные аппараты и беспроводные точки доступа. Системы автоматизации дома, включая системы безопасности, также зависят от EOS.

Дизайн

Встроенные системы состоят из процессора и соответствующего программного обеспечения. Встроенному программному обеспечению требуется хранилище для исполняемых файлов и временной обработки данных во время работы. Встроенные системы обычно используют ПЗУ и ОЗУ в качестве основных компонентов памяти. Для функционирования встроенным системам необходимы интерфейсы ввода и вывода. Аппаратные конфигурации встроенных систем часто уникальны и варьируются в зависимости от области применения. Учитывая ограниченность ресурсов аппаратного обеспечения встроенных систем, операционные системы разрабатываются с узкой специализацией, адаптированной к конкретным задачам, для обеспечения оптимальной работы в заданных аппаратных ограничениях. Выбор встроенной операционной системы, которая организует и управляет аппаратным обеспечением, часто определяет дополнительные необходимые аппаратные компоненты. Разработчики программного обеспечения могут писать критически важный код на языке ассемблера для максимального использования вычислительной мощности центрального процессора (CPU). Язык ассемблера, будучи машино-эффективным, может повысить скорость в детерминированных системах, но может снизить переносимость и удобство сопровождения. Зачастую встроенные операционные системы кодируются на переносимых языках программирования, таких как C.

Ранние встроенные операционные системы

Концепция многозадачного ядра реального времени возникла в конце 1970-х годов. В 1980-х годах, с ростом сложности приложений встраиваемых систем, операционные системы с многозадачными ядрами реального времени испытывали трудности в удовлетворении меняющихся требований разработки встраиваемых систем. Это привело к эволюции многозадачного ядра реального времени в полноценную операционную систему (RTOS), включающую в себя сетевые функции, управление файлами, средства разработки и отладки. Сегодня RTOS представляет собой глобальную индустрию. В 1981 году компания Ready Systems разработала VRTX32 – первое в мире коммерческое ядро реального времени для встраиваемых систем. В 1993 году, после слияния, компании Ready Systems и Microtec Research из Кремниевой долины разработали два новых ядра RTOS – VRTX32 и VRTXsa, основанные на VRTXmc. Параллельно была представлена интегрированная среда разработки VRTX, Spectra. В 1996 году Microsoft выпустила свою встраиваемую операционную систему WinCE, поддерживающую различные архитектуры процессоров, включая x86, ARM, SH4 и MIPS. WinCE устарела, и основная поддержка была прекращена в 2018 году. OS 9 и VxWorks также являются известными встраиваемыми операционными системами.

Современные встроенные операционные системы

В современном ландшафте Интернета вещей (IoT) встроенные устройства встречаются повсеместно, и только в автомобилях используются сотни датчиков. Системы IoT, в отличие от традиционных встраиваемых систем, требуют сниженного энергопотребления, повышенной безопасности и надежности, а также возможности организации спонтанных сетей. Коммуникационный уровень должен обеспечивать преобразование между разнородными протоколами, а прикладной уровень – предоставлять возможности облачных вычислений через Интернет.

Современные встроенные операционные системы

В результате, несколько новых встраиваемых операционных систем приобрели популярность, таких как варианты Embedded Linux (OpenWrt, Zeroshell, Android, LineageOS, LEDE, LibreCMC), OpenHarmony, Oniro OS, HarmonyOS, NetBSD, PX5 RTOS, ThreadX, FreeRTOS и другие.

Проекты на базе Linux

Разработано множество проектов, комплектов инструментов и фреймворков на базе Linux для создания операционных систем, предназначенных для работы на разнообразных встраиваемых системах. Яркими примерами являются OpenEmbedded, BusyBox, uClibc, musl libc и Buildroot.