De release van het modulaire besturingssysteem Embox 0.7 is aangekondigd, gericht op het onafhankelijk uitvoeren van applicaties die oorspronkelijk zijn ontwikkeld voor Linux, maar zonder gebruik te maken van Linux. Het systeem kan functioneren als een realtime besturingssysteem (RTOS) op verschillende klassen apparaten, van gewone x86-systemen tot energiezuinige platen en microcontrollers. De projectcode is geschreven in de programmeertaal C en wordt verspreid onder de BSD-licentie.
De Embox-kernel is verdeeld in een reeks bibliotheken die verschillende programmeerinterfaces implementeren (geheugenbeheer, taakplanner, netwerkstack, enz.). Dankzij de modulariteit maakt Embox het mogelijk om voor elke applicatie een minimale set van systeemcomponenten en bibliotheken te gebruiken, die voldoende zijn om specifieke applicaties uit te voeren. Voor elke applicatie wordt een zelfstandige afbeelding gevormd, geoptimaliseerd voor een bepaalde taak en in staat om rechtstreeks op de hardware te draaien zonder extra lagen en zonder het gebruik van universele kernels en systeemomgevingen.
Een dergelijke indeling maakt het mogelijk om bestaande applicaties met minimale overhead op apparaten met beperkte bronnen uit te voeren. Embox biedt ook een extra beveiligingslaag — applicaties worden statisch aan bibliotheken gekoppeld en naast de aanvankelijk geleverde applicatie kunnen er in de gevormde omgeving geen andere programma's worden uitgevoerd.
Voorbeelden van toepassingen van Embox zijn het creëren van een VoIP-telefoon op basis van de STM32F7 microcontroller en de PJSIP-bibliotheek, het draaien van een grafische interface op basis van Qt op de STM32F7 microcontroller, het uitvoeren van een applicatie voor visuele informatieverwerking op de STM32F769i platine met OpenCV, het onafhankelijk draaien van de SSH-server Dropbear, en het uitvoeren van het spel Quake3 en grafische applicaties die Mesa gebruiken.

Belangrijkste mogelijkheden van Embox:
- Ondersteuning voor processorarchitecturen zoals x86, ARM, RISC-V, Microblaze, SPARC, E2K, PowerPC en MIPS.
- Ondersteuning voor het werken op STM32 microcontrollers en de mogelijkheid om programma's uit te voeren die Qt, OpenCV, PJSIP en andere populaire frameworks gebruiken.
- Ondersteuning voor borden zoals Raspberry Pi.
- Ondersteuning voor het creëren van omgevingen voor het uitvoeren van applicaties in de talen C++, Java, Python, Lua, TCL, Lisp, Ruby, JavaScript en Scheme.
- POSIX-compatibiliteit.
- Mogelijkheid om bestandssystemen FAT en ext2/3/4 te gebruiken.
- TCP/IP-stapel met ondersteuning voor sockets en standaard netwerprotocollen (UDP, HTTP, ARP, NTP, ICMP).
- Beschikbaarheid van Unix-achtige hulpprogramma's zoals ls, cat en mount.
Onder de veranderingen in de nieuwe release:
- Implementatie van een subsystem voor draadloze toegang.
- Implementatie van een subsystem voor beheer via AT-commando's.
- Verbeterde ondersteuning voor de RISC-V-architectuur. Ondersteuning toegevoegd voor de platforms Milandr MDR1206FI, Baikal-Electronics Baikal-U en Syntacore SCR-5.
- Ondersteuning toegevoegd voor de MIPS64-processor KOMDIV-64.
- Geüpgradede bouwsysteem.
- Ondersteuning toegevoegd voor het machine learning-platform TensorFlow Lite.
- Ondersteuning toegevoegd voor het Ardupilot-framework met implementatie van autopilot.
- Ondersteuning toegevoegd voor het WebSocket-protocol.
- Verbeterde subsystemen voor SPI, I2C en MMC.
Bron: opennet.ru
