Monolinux je distribucija z eno datoteko, ki se zažene na CPU ARMv7 528 MHz v 0.37 sekunde

Erik Moqvist, avtor platforme Simba in orodja cantools, razvija novo distribucijo Monolinux, osredotočen na ustvarjanje vgrajenih sistemov Linux za samostojno izvajanje določenih aplikacij, napisanih v jeziku C. Distribucijo odlikuje dejstvo, da je programska oprema zapakirana v obliki ene statično povezane izvedljive datoteke, ki vključuje vse komponente, potrebne za delovanje aplikacije (v bistvu distribucijo sestavljata jedro Linuxa in disk RAM s statično sestavljen init proces, ki vključuje aplikacijo in potrebne knjižnice) . Koda distributer pod licenco MIT.

Okolje zagotavlja vse podsisteme in sistemske klice jedra Linuxa, vključno z dostopom do datotečnega sistema, omrežnim skladom in gonilniki naprav. Knjižnice, kot so: ml (Knjižnica Monolinux C z lupino, odjemalci DHCP in NTP, Device-mapper itd.), asinhroniziranje (asinhroni okvir), bitni tok, curl (HTTP, FTP, ...), detools (delta obliži), toplotno skrčeno (algoritem stiskanja), človeku prijazen (pomožna orodja), mbedTLS, xz и zlib. Podprt je hiter razvojni cikel, ki vam omogoča, da ocenite delovanje nove različice v nekaj sekundah po spremembi kode.

Različice Monolinuxa, pripravljene za plošče Raspberry Pi 3 и Jiffy. Končna velikost sklopov je približno 800 KB. plačaj Jiffy opremljen s SoC i.MX6UL s CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM-a in 4 GB eMMC. Čas zagona na plošči Jiffy je samo 0.37 sekunde - od vklopa do pripravljenosti datotečnega sistema Ext4. Od tega časa se 1 ms porabi za inicializacijo strojne opreme SoC, 184 ms za izvajanje kode ROM, 86 ms za delovanje zagonskega nalagalnika, 62 ms za zagon jedra Linuxa in 40 ms za aktivacijo Ext4. Čas ponovnega zagona je 0.26 sekunde. Pri uporabi omrežnega sklada postane sistem zaradi zamud pri pogajanjih za ethernetni kanal in pridobivanju omrežnih parametrov pripravljen na omrežno interakcijo v 2.2 sekunde.

Sistem uporablja jedro Linuxa 4.14.78 v minimalni konfiguraciji z dodatnimi obliži, odpravljanje nepotrebnih zakasnitev v gonilniku MMC (MMC je povezan z vdelano programsko opremo plošče in je že aktiviran ob zagonu gonilnika) in začetek inicializacije gonilnikov MMC in FEC (Ethernet) v vzporednem načinu.

Vir: opennet.ru

Dodaj komentar