Monolinux — un sistema operativo monofile, che si avvia su CPU ARMv7 528 MHz in 0,37 secondi

Erik Moqvist, autore della piattaforma Simba e degli strumenti cantools, sviluppa una nuova distribuzione Monolinux, focalizzata sulla creazione di sistemi Linux embedded per l'esecuzione autonoma di applicazioni specifiche scritte in linguaggio C. La distribuzione si distingue per il fatto che il software è confezionato come un singolo file eseguibile staticamente compilato, contenente tutti i componenti necessari per l'esecuzione dell'applicazione (di fatto, la distribuzione costituisce il kernel Linux e un disco ram con un processo init staticamente compilato, che include l'applicazione e le librerie necessarie). Il codice distribuito sotto licenza MIT.

nell'ambiente fornisce tutti i sottosistemi e le chiamate di sistema del kernel Linux, inclusi accesso al filesystem, stack di rete e driver di dispositivo. Per il binding con l'applicazione sono disponibili librerie come ml (libreria C di Monolinux con shell, client DHCP e NTP, Device-mapper, ecc.) async (framework asincrono) bitstream, curl (HTTP, FTP, ...) detools (patch delta) heatshrink (algoritmo di compressione) humanfriendly (strumenti ausiliari) mbedTLS, xz e zlib. È supportato un ciclo di sviluppo rapido, che consente di valutare in pochi secondi una nuova versione dopo aver apportato modifiche al codice.

Le varianti Monolinux sono pronte per i piani Raspberry Pi 3 e Jiffy. La dimensione totale delle build è di circa 800 KB. La scheda Jiffy è dotata di un SoC i.MX6UL con CPU ARMv7-A (528 MHz), 1 GB di RAM DDR3 e 4 GB di eMMC. Il tempo di boot sulla scheda Jiffy è di soli 0,37 secondi — dall'accensione fino alla disponibilità del filesystem Ext4. Di questo, 1 ms è dedicato all'inizializzazione hardware del SoC, 184 ms all'esecuzione del codice ROM, 86 ms al caricamento del bootloader, 62 ms all'avvio del kernel Linux e 40 ms all'attivazione di Ext4. Il tempo di riavvio è di 0,26 secondi. Nel caso si utilizzi lo stack di rete, a causa dei ritardi nella negoziazione del canale Ethernet e nell'ottenimento delle impostazioni di rete, il sistema diventa pronto per le interazioni di rete dopo 2,2 secondi.

Nel sistema è stato utilizzato il kernel Linux 4.14.78 in configurazione minimale con patch aggiuntive che eliminano ritardi non necessari nel driver MMC (MMC viene collegato tramite il firmware della scheda e al momento dell'avvio del driver è già attivato) e avviano l'inizializzazione dei driver MMC e FEC (Ethernet) in modalità parallela..

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster