Wydanie Embox 0.7, systemu operacyjnego do uruchamiania pojedynczych aplikacji Linux na sprzęcie

Opublikowano wydanie modułowego systemu operacyjnego Embox 0.7, który jest przeznaczony do izolowanego uruchamiania aplikacji stworzonych pierwotnie dla systemu Linux, ale bez używania Linuxa. System może działać w czasie rzeczywistym (RTOS) na różnych klasach urządzeń, od standardowych systemów x86 po niskomocowe płyty i mikrokontrolery. Kod projektu został napisany w języku C i jest dystrybuowany na licencji BSD.

Jądro Embox jest podzielone na serię bibliotek, które implementują różne interfejsy programistyczne (zarządzanie pamięcią, harmonogram zadań, stos sieciowy itp.). Dzięki modułowości, Embox pozwala na uruchomienie każdego z aplikacji przy minimalnym zestawie komponentów systemowych i bibliotek, wystarczających do uruchomienia konkretnej aplikacji. Dla każdej aplikacji tworzony jest samodzielny obraz, zoptymalizowany do określonego zadania i zdolny do pracy bezpośrednio na sprzęcie, bez zbędnych warstw i bez użycia uniwersalnych jąder i środowisk systemowych.

Taka kompozycja pozwala uruchamiać istniejące aplikacje przy minimalnych kosztach na urządzeniach o ograniczonych zasobach. Embox zapewnia również dodatkowy poziom ochrony — aplikacje są statycznie powiązane z bibliotekami i oprócz początkowo dostarczonej aplikacji w stworzonym środowisku nie można uruchomić innych programów.

Jako przykłady zastosowania Embox wymienia się stworzenie telefonu VoIP opartego na mikrokontrolerze STM32F7 i bibliotece PJSIP, uruchomienie na mikrokontrolerze STM32F7 interfejsu graficznego opartego na Qt, wykonanie na płycie STM32F769i aplikacji do przetwarzania informacji wizualnej za pomocą OpenCV, izolowane uruchomienie serwera SSH Dropbear, uruchomienie gry Quake3 i aplikacji graficznych korzystających z Mesa.

Wydanie Embox 0.7, systemu operacyjnego do uruchamiania pojedynczych aplikacji Linux na sprzęcie

Główne możliwości Embox:

  • Wsparcie dla architektur procesorowych x86, ARM, RISC-V, Microblaze, SPARC, E2K, PowerPC i MIPS.
  • Wsparcie dla mikrokontrolerów STM32 oraz możliwość uruchamiania na nich programów korzystających z Qt, OpenCV, PJSIP i innych popularnych frameworków.
  • Wsparcie dla płyty podobnej do Raspberry Pi.
  • Wsparcie dla tworzenia środowisk do uruchamiania aplikacji w językach C++, Java, Python, Lua, TCL, Lisp, Ruby, JavaScript i Scheme.
  • Zgodność z POSIX.
  • Możliwość korzystania z systemów plików FAT i ext2/3/4.
  • Stos TCP/IP z obsługą gniazd i standardowych protokołów sieciowych (UDP, HTTP, ARP, NTP, ICMP).
  • Dostępność narzędzi podobnych do Unix, takich jak ls, cat i mount.

Wśród zmian w nowej wersji:

  • Zrealizowano podsystem do bezprzewodowego dostępu.
  • Zrealizowano podsystem do zarządzania przez komendy AT.
  • Ulepszono wsparcie dla architektury RISC-V. Dodano wsparcie dla platform Milandr MDR1206FI, Baikal-Electronics Baikal-U oraz Syntacore SCR-5.
  • Dodano wsparcie dla procesora MIPS64 KOMDIV-64.
  • Modernizowano system budowy.
  • Dodano wsparcie dla platformy uczenia maszynowego TensorFlow Lite.
  • Dodano wsparcie dla frameworka Ardupilot z realizacją autopilota.
  • Dodano wsparcie dla protokołu WebSocket.
  • Ulepszono podsystemy SPI, I2C i MMC.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster