Monolinux estas unudosiera distribuo kiu ekfunkciigas sur ARMv7 528 MHz CPU en 0.37 sekundoj

Erik Moqvist, platformaŭtoro Simba kaj iloj kantools, disvolvas novan distribuadon Monolinux, temigis kreado de integriĝintaj Linuksaj sistemoj por memstara funkciado de certaj aplikoj skribitaj en la C-lingvo. La distribuo estas rimarkinda pro tio, ke la programaro estas pakita en formo de unu statike ligita rulebla dosiero, kiu inkluzivas ĉiujn komponentojn necesajn por ke la aplikaĵo funkciu (esence, la distribuo konsistas el la Linukso-kerno kaj RAM-disko kun statike. kunmetita init-procezo, kiu inkluzivas la aplikaĵon kaj la necesajn bibliotekojn). Kodo distribuita de sub la MIT-licenco.

La medio disponigas ĉiujn subsistemojn kaj sistemajn vokojn de la Linukso-kerno, inkluzive de dosiersistema aliro, retstako kaj aparataj peliloj. Bibliotekoj kiel: ml (Biblioteko Monolinux C kun ŝelo, DHCP kaj NTP-klientoj, Aparato-mapisto, ktp.), async (nesinkrona kadro), bitfluo, buklo (HTTP, FTP, ...), deiloj (deltaj diakiloj), varmoŝrumpas (kunprema algoritmo), homamiko (helpiloj), mbedTLS, xz и zlib. Rapida disvolva ciklo estas subtenata, permesante al vi taksi la funkciadon de nova versio ene de kelkaj sekundoj post fari ŝanĝojn al la kodo.

Monolinuksaj variantoj preparitaj por tabuloj Frambo Pi 3 и jiffy. La fina grandeco de la asembleoj estas proksimume 800 KB. Pagu jiffy ekipita per SoC i.MX6UL kun CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM kaj 4 GB eMMC. Lanĉtempo sur la Jiffy-tabulo estas nur 0.37 sekundoj - de ekfunkciigo ĝis Ext4-dosiersistemo preta. De ĉi tiu tempo, 1 ms estas elspezita por hardvara inicialigo de la SoC, 184 ms por ekzekuto de ROM-kodo, 86 ms por ekfunkciigo de ekŝargilo, 62 ms por lanĉado de la Linukso-kerno kaj 40 ms por aktivigo de Ext4. La tempo de rekomenco estas 0.26 sekundoj. Kiam vi uzas retan stakon, pro malfruoj en intertraktado de Eterreto-kanalo kaj akiro de retaj parametroj, la sistemo fariĝas preta por retinterago en 2.2 sekundoj.

La sistemo uzas la Linuksan kernon 4.14.78 en minimuma agordo kun pliaj flikiloj, forigante nenecesajn prokrastojn en la MMC-ŝoforo (MMC estas konektita per la tabulo-firmvaro kaj jam estas aktivigita kiam la ŝoforo estas lanĉita) kaj komencante la inicialigon de la MMC kaj FEC (Ethernet) ŝoforoj en paralela reĝimo.

fonto: opennet.ru

Aldoni komenton