Utgivningen av den modulÀra operativsystemet Embox 0.7 har publicerats, med fokus pÄ att isolerat köra applikationer skapade för Linux, utan att anvÀnda Linux. Systemet kan arbeta i realtid (RTOS) pÄ olika typer av enheter, frÄn vanliga x86-system till lÄgenergiplattor och mikrokontroller. Projektets kod Àr skriven i C och distribueras under BSD-licensen.
KÀrnan i Embox Àr uppdelad i en serie bibliotek som implementerar olika programmeringsgrÀnssnitt (minneshantering, uppgiftsscheduler, nÀtverksstack osv.). Tack vare sin modularitet tillÄter Embox att anvÀnda det minsta möjliga uppsÀttningen systemkomponenter och bibliotek för att köra varje applikation, vilket rÀcker för den specifika applikationen. För varje applikation skapas en sjÀlvförsörjande bild, optimerad för en viss uppgift och kapabel att arbeta pÄ hÄrdvaran utan onödiga mellanlager och utan att anvÀnda universella kÀrnor och systemmiljöer.
Denna konfiguration möjliggör att köra befintliga applikationer med minimala overheadkostnader pĂ„ enheter med begrĂ€nsade resurser. Embox erbjuder ocksĂ„ en extra skyddsnivĂ„ â applikationer lĂ€nkades statiskt till biblioteken, och förutom den ursprungligen tillhandahĂ„llna applikationen i den skapade miljön kan inga andra program köras.
Exempel pÄ tillÀmpningar av Embox inkluderar skapandet av en VoIP-telefon baserad pÄ mikrokontroller STM32F7 och biblioteket PJSIP, körning av ett grafiskt grÀnssnitt pÄ mikrokontroller STM32F7 baserat pÄ Qt, exekvering pÄ STM32F769i-plattorna av en applikation för att bearbeta visuell information med OpenCV, isolerad körning av SSH-servern Dropbear, körning av spelet Quake3 och grafiska applikationer som anvÀnder Mesa.

Huvudfunktionerna i Embox:
- Stöd för processorarkitekturer x86, ARM, RISC-V, Microblaze, SPARC, E2K, PowerPC och MIPS.
- Stöd för arbete pÄ mikrokontroller STM32 och möjlighet att köra program som anvÀnder Qt, OpenCV, PJSIP och andra populÀra ramverk pÄ dem.
- Stöd för hÄrdvaruplattor som Raspberry Pi.
- Stöd för skapande av miljöer för att köra applikationer i sprÄk som C++, Java, Python, Lua, TCL, Lisp, Ruby, JavaScript och Scheme.
- POSIX-kompatibilitet.
- Möjlighet att anvÀnda filsystem FAT och ext2/3/4.
- TCP/IP-stack med stöd för sockets och typiska nÀtverksprotokoll (UDP, HTTP, ARP, NTP, ICMP).
- TillgÄng till Unix-liknande verktyg sÄsom ls, cat och mount.
Bland förÀndringarna i den nya versionen:
- En underliggande subsystem för trÄdlös Ätkomst har implementerats.
- En underliggande subsystem för styrning via AT-kommandon har implementerats.
- FörbÀttrat stöd för RISC-V-arkitekturen. Stöd för plattformarna Milandr MDR1206FI, Baikal-Electronics Baikal-U och Syntacore SCR-5 har lagts till.
- Stöd för MIPS64-processorn KOMDIV-64 har lagts till.
- Byggsystemet har moderniserats.
- Stöd för maskininlÀrningsplattformen TensorFlow Lite har lagts till.
- Stöd för ramverket Ardupilot med implementering av autopilot har lagts till.
- Stöd för WebSocket-protokollet har lagts till.
- Subsystemen SPI, I2C och MMC har förbÀttrats.
KĂ€lla: opennet.ru
