Monolinux, ARMv7 528 MHz CPU'da 0.37 saniyede önyükleme yapan tek dosyalı bir dağıtımdır

Erik Moqvist, platform yazarı Simba ve araçlar kantoollar, yeni bir dağıtım geliştiriyor Monolinux, C dilinde yazılmış belirli uygulamaların bağımsız olarak çalıştırılması için gömülü Linux sistemleri oluşturmaya odaklandı. Dağıtım, yazılımın, uygulamanın çalışması için gerekli tüm bileşenleri içeren statik olarak bağlantılı bir yürütülebilir dosya biçiminde paketlenmesi nedeniyle dikkat çekicidir (esasen dağıtım, Linux çekirdeği ve statik olarak bir RAM diskinden oluşur). Uygulamayı ve gerekli kütüphaneleri içeren birleştirilmiş init süreci) . Kod tarafından dağıtıldı MIT lisansı altında.

Ortam, dosya erişimi, ağ yığını ve aygıt sürücüleri de dahil olmak üzere Linux çekirdeğinin tüm alt sistemlerini ve sistem çağrılarını sağlar. Aşağıdaki gibi kütüphaneler: ml (Kabuk, DHCP ve NTP istemcileri, Cihaz eşleyici vb. içeren Monolinux C kütüphanesi), zaman uyumsuz (asenkron çerçeve), bit akışı, kıvırmak (HTTP, FTP,...), tuvaletler (delta yamaları), ısıyla büzüşen (sıkıştırma algoritması), insan dostu (yardımcı araçlar), mbedTLS, xz и zlib. Kodda değişiklik yaptıktan sonra yeni bir sürümün çalışmasını birkaç saniye içinde değerlendirmenize olanak tanıyan hızlı bir geliştirme döngüsü desteklenir.

Anakartlar için hazırlanan Monolinux çeşitleri Ahududu Pi 3 и lahza. Montajların son boyutu yaklaşık 800 KB'dir. Ödemek lahza CPU ARMv6-A (7 MHz), 528 GB DDR1 RAM ve 3 GB eMMC'ye sahip SoC i.MX4UL ile donatılmıştır. Jiffy kartındaki önyükleme süresi yalnızca 0.37 saniyedir - açılıştan Ext4 dosya sisteminin hazır olmasına kadar. Bunun 1 ms'si SoC'nin donanım başlatılmasına, 184 ms'si ROM kodunun yürütülmesine, 86 ms'si önyükleyici işlemine, 62 ms'si Linux çekirdeğinin başlatılmasına ve 40 ms'si Ext4 aktivasyonuna harcanır. Yeniden başlatma süresi 0.26 saniyedir. Bir ağ yığını kullanıldığında, Ethernet kanalıyla anlaşma ve ağ parametrelerinin alınmasındaki gecikmeler nedeniyle sistem 2.2 saniyede ağ etkileşimi için hazır hale gelir.

Sistem, Linux çekirdeği 4.14.78'i minimum konfigürasyonda ek özelliklerle kullanır yamalarMMC sürücüsündeki gereksiz gecikmeleri ortadan kaldırır (MMC, kart yazılımı tarafından bağlanır ve sürücü başlatıldığında zaten etkindir) ve MMC ve FEC (Ethernet) sürücülerinin paralel modda başlatılmasını başlatır.

Kaynak: opennet.ru

Yorum ekle