Monolinux — en enfilarsdistribution som laddas på CPU ARMv7 528 MHz på 0,37 sekunder

Erik Moqvist, skaparen av plattformen Simba och verktygen cantools, utvecklar en ny distribution Monolinux, inriktad på att skapa inbyggda Linux-system för avskild körning av specifika applikationer skrivna i C. Distributionen kännetecknas av att programvaran paketeras som en enda statiskt sammanställd körbar fil som inkluderar alla komponenter nödvändiga för att köra applikationen (i grunden består distributionen av Linux-kärnan och en ramdisk med en statiskt sammanställd init-process som omfattar applikationen och nödvändiga bibliotek). Koden sprids licensieras under MIT.

I miljön levereras alla subsystems och systemanrop från Linux-kärnan, inklusive åtkomst till FS, nätverksstacken och enhetsdrivrutiner. För att koppla till applikationen finns bibliotek som ml (Monolinux C-bibliotek med shell, DHCP- och NTP-klienter, Device-mapper etc.), async (asynkront ramverk), bitstream, curl (HTTP, FTP, …), detools (delta-patchar), heatshrink (komprimeringsalgoritm), humanfriendly (verktyg), mbedTLS, xz och zlib. En snabb utvecklingscykel stöds, vilket gör att en ny version kan bedömas i drift inom några sekunder efter att ändringar har gjorts i koden.

Varianter av Monolinux är förberedda för kort Raspberry Pi 3 och Jiffy. Den slutliga storleken på byggarna är cirka 800 KB. Kortet Jiffy är utrustat med SoC i.MX6UL med CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM och 4 GB eMMC. Boottiden på Jiffy-kortet är bara 0,37 sekunder – från påslagning till filsystemet Ext4 är klart. Av detta går 1 ms på hårdvaruinitialisering av SoC, 184 ms för att köra kod från flashminnet, 86 ms för bootloadern, 62 ms för att starta Linux-kärnan och 40 ms för att aktivera Ext4. Omstarttiden är 0,26 sekunder. Vid användning av nätverksstacken, på grund av fördröjningar i förhandling av Ethernet-kopplingen och i att få nätverksparametrarna, blir systemet redo för nätverksinteraktion efter 2,2 sekunder.

I systemet används Linux-kärna 4.14.78 i minimal konfiguration med ytterligare patchar, som eliminerar onödiga fördröjningar i MMC-drivrutinen (MMC ansluts av kortets firmware och vid starten av drivrutinen är det redan aktiverat) och som kör initialiseringen av MMC- och FEC (Ethernet) drivrutinerna i parallell läge.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster