HermiTux: свръхлеко ядро, бинарно съвместимо с Linux

Най-четени

Даниел Десподов
Даниел Десподов
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

Специалистите от университета на Вирджиния, от компанията Qualcomm и университета Аахен (Германия) разработват изключително лекото ядро HermiTux, съответстващо на парадигмата unikernel. Лекото ядро HermiTux два възможност за директното стартиране на приложения чрез хипервайзора, без каквито и да било допълнително софтуерни слоеве, осигуряващо бинарна съвместимост с Linux приложенията на ниво ABI. Кодът е написан на програмния език С и се разпространява под BSD лиценза.

HermiTux предоставя минимално необходимото за работата на една операционна система и изразходва съществено по-малко ресурси в сравнение със стандартното Linux ядро. HermiTux стартира изключително бързо приложенията чрез хипервайзора – в рамките на 0,1 секунда. В тестовете за производителност HermiTux изостава от стандартното Linux ядро с около 3%, което се дължи на времето, необходимо за прехвърлянето на входно/изходните операции към хост системата. Но консумацията на памет при тестовете е около 9 MB, което е 10 пъти по-малко в сравнение с Linux Kernel (Docker използва около 2 MB благодарение на общото с хост средата ядро, без да се налага прилагането на пълноценна виртуализация).

HermiTux: свръхлеко ядро, бинарно съвместимо с Linux

Възможността за стартирането на немодифицирани Linux приложения се осъществява чрез поддръжката на ELF формата, реализацията на системните извиквания на Linux и виртуалните файлови системи. На сегашния етап на развитие HermiTux реализира 83 системни извиквания. В Linux ядрото са реализирани над 350 системни извиквания, но в реалните приложения се използва малка част от тях – за обхващането на 90% от софтуера в различните дистрибуции е достатъчно реализирането на 200 системни извиквания.

HermiTux: свръхлеко ядро, бинарно съвместимо с Linux

За намаляване на таймингите при обработването на системните извиквания, е реализиран механизъм за замяна на използването на системните извиквания с директното извикване на типовите функции на ядрото. По този начин се избягва използването на лакомата за ресурси инструкция syscall. Това е възможно, понеже в HermiTux се използва общо адресно пространство и няма смисъл от употребата на syscall. За статично свързаните приложения замяната се извършва на ниво стандартната библиотека.

HermiTux: свръхлеко ядро, бинарно съвместимо с Linux

Освен това, подготвен е инструментариум за анализ на системните извиквания в изпълнимите файлове, което дава възможност за компилирането на минимално HermiTux ядро, включващо единствено кода, необходим само за обработката на използваните в приложенията системни извиквания.

HermiTux предлага базова многопоточност (Pthreads Embedded). Файловата система е MiniFS, в която файловете се разполага в оперативната памет (ramdisk), като са емулирани някои елементи от виртуалните файлови системи (/dev/zero, /dev/cpuinfo и други).

HermiTux: свръхлеко ядро, бинарно съвместимо с Linux

TCP/IP стека се базира на проекта LWIP, а в качеството на стандартна Си библиотека се използва модифициран вариант на Musl. При използването на HermiTux не се налага каквото и да било преобразуване или прекомилиране на файловете. Поддържат се както всички компилирани изпълними файлове, така и приложенията за интерпретаторните програмни езици – Python, Lua и т.н.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

18 Коментара
стари
нови оценка

Нови ревюта

Подобни новини