Monolinux — jednofajlni distribucijski sustav, koji se učitava na CPU ARMv7 528 MHz za 0.37 sekundi

Erik Moqvist, autor platforme Simba i alata cantools, razvija novu distribuciju Monolinux, orijentiranu na stvaranje ugrađenih Linux sustava za izolirano pokretanje određenih aplikacija napisanih u C jeziku. Distribucija se ističe time što je softverska osnovica oblikovana kao jedan statički povezani izvršni datotek, koji uključuje sve komponente potrebne za rad aplikacije (zapravo distribucija se sastoji od Linux jezgre i ram diska sa statički sastavljenim init procesom, koji uključuje aplikaciju i potrebne biblioteke). Kod distribuira se pod MIT licencom.

U okolini su dostupni svi podsustavi i sistemski pozivi Linux jezgre, uključujući pristup FS-u, mrežnom stogu i drajverima uređaja. Za povezivanje s aplikacijom dostupne su biblioteke kao što su ml (C biblioteka Monolinux s shell, klijentima DHCP i NTP, Device-mapper itd.), (196 tisuća redaka koda, 11 autora, 7 commitera, 11 neodgovorenih problema); (asinkroni okvir), bitstream, curl (HTTP, FTP, ...), detools (delta patchevi), heatshrink (algoritam kompresije), humanfriendly (pomoćni alati), mbedTLS, xz i zlib. Podržava brzi razvojni ciklus, omogućujući u roku od nekoliko sekundi procjenu nove verzije nakon izmjene koda.

Opcije Monolinux su pripremljene za ploče Raspberry Pi 3 i Jiffy. Konačna veličina izrada je oko 800 KB. Ploča Jiffy ima SoC i.MX6UL s CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM-a i 4 GB eMMC. Vrijeme podizanja na ploči Jiffy iznosi samo 0.37 sekundi — od uključenja do spremnosti datotečnog sustava Ext4. Od toga, 1 ms odlazi na hardversku inicijalizaciju SoC-a, 184 ms na izvršavanje koda ROM-a, 86 ms na rad bootloader-a, 62 ms na pokretanje Linux jezgre i 40 ms na aktivaciju Ext4. Vrijeme ponovnog pokretanja iznosi 0.26 sekundi. U slučaju korištenja mrežnog stoga, zbog kašnjenja na usklađivanju Ethernet kanala i dobivanju mrežnih parametara, sustav postaje spreman za mrežnu interakciju nakon 2.2 sekunde.

U sustavu je korištena Linux jezgra 4.14.78 u minimalnoj konfiguraciji s dodatnim zakrpama, eliminirajući suvišna kašnjenja u drajveru MMC (MMC se povezuje firmware-om ploče i u trenutku pokretanja drajvera već je aktiviran) i pokreće inicijalizaciju drajvera MMC i FEC (Ethernet) u paralelnom načinu.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster