Erik Moqvist, platvormi autor. ja tööriistakomplekt. , arendab uut distributsiooni , mis on suunatud spetsiaalsete C keeles kirjutatud rakenduste iseseisvaks käitamiseks mõeldud sisse ehitatud Linux-süsteemide loomiseks. Distributsioon on tuntud selle poolest, et tarkvarakomponendid on vormistatud ühe staatiliselt koostatud täitmisfailina, mis sisaldab kõik vajalikud komponendid rakenduse tööks (põhimõtteliselt koosneb distributsioon Linuxi kernelist ja ram-diskist staatiliselt koostatud init-protsessiga, mis hõlmab rakendust ja vajalikke teeke). Kood on MIT litsentsi all.
Keskkonnas on saadaval kõik Linuxi kernelisüsteemid ja süsteemi kõned, sealhulgas juurdepääs FS-ile, võrgu tohjur ja seadme draiverid. Rakendusega sidumiseks on saadaval sellised teegid nagu (Monolinuxi si-teek shell, DHCP ja NTP kliendid, Device-mapper jne), (asünkroonne raamistik), , (HTTP, FTP jne), (delta-patchid), (kompressioonialgoritm), (abivahendid), , ja . Toetatakse kiiret arendustsüklit, mis võimaldab uue versiooni tööle rakendamist mõne sekundi jooksul pärast koodimuudatuste rakendamist.
Monolinuxi variandid on ette valmistatud ja . Kogusummaks on buildide suurus umbes 800 KB. Plaat on varustatud SoC i.MX6UL koos ARMv7-A CPU (528 MHz), 1 GB DDR3 RAM-i ja 4 GB eMMC-ga. Plaadi Jiffy laadimisaeg on vaid 0,37 sekundit - sisse lülitamisest kuni Ext4 failisüsteemi valmiduseni. Selle aja jooksul kulub 1 ms SoC-i riistvaralise initsialiseerimisele, 184 ms ROM-i koodi täitmisele, 86 ms käivituslaadijale, 62 ms Linuxi tuuma käivitamisele ja 40 ms Ext4 aktiveerimisele. Taaskäivitamise aeg on 0,26 sekundit. Kui kasutatakse võrgu protokolli, põhjustavad Etherneti kanali kokkulepete ja võrgu konfigureerimise viivitused, mistõttu on süsteem valmis võrguühenduseks 2,2 sekundi pärast.
Süsteemis on kasutusel Linuxi tuumik 4.14.78 minimaalsetes konfiguratsioonides koos täiendavate , mis kõrvaldab vajaduseta viivitused MMC draiveris (MMC ühendatakse plaadi musteriga ja draiveri käivitamise hetkeks on juba aktiveeritud) ning käivitavad MMC ja FEC (Ethernet) draiverite initsialiseerimise paralleelselt.
Allikas: opennet.ru
