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

18
992

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

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

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

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

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

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

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

18
ДОБАВИ КОМЕНТАР

avatar
4 Коментари
14 Отговори на коментарите
8 Последователи
 
Коментарът с най-много реакции
Най-горещият коментар
10 Автори на коментарите
OracleНадблюдателГоведотоbootКольо Автори на последните коментари
  Абонирай се  
нови стари оценка
Извести ме за
Кольо
Кольо

Те хубаво си играят с нещо искащо минимални системни ресурси. Ама вече няма нов хардуер с толкова малко ресурси, че да има смисъл да се пестят по този начин. Дори най-мизерните и евтини китайски дигитални часовници.

Ubuntu
Ubuntu

Специалистите от университета на Вирджиния, от компанията Qualcomm и университета Аахен не разбират, а Кольо? хахахах

Капитализъм
Капитализъм

Internet of Things, мисли за тостери, маратонки и т.н., както и за сървъри със стотици хиляди виртуални машини, управляващи данни от устройства от Интернет ОФ тхингс.

boot
boot

Дали? Кога последно се информира за системните изисквания на най-мизерните и евтини китайски часовноци? Един куп рутери и още сумати мрежови устройства имат по 32,64MB памет..

Кольо
Кольо

Един куп свръхстари модели бачевото. От пантивека. Явно сичките тука сте с комунистически компютри Правец 8 и затова се кефите че ще ви вдигнат прашасалите щайги от гробищата.

boot
boot

Компютър не е само десктоп. За 30лв. tp-link WR 841N му е напълно достатъчно 32мб памет и 64кб рам. С dd-wrt буквално прави чудеса таз машинка. Е, разбира се, има още какво да се желае, ама не и за тази цена. Ти може да си купиш и сървър за 5 бона да ти рутира връзката на десктопа и телефона (за FB и Kaldata) ама за доста хора не е целесъобразно. Пък подобен софтуер е само от полза.

Кольо
Кольо

Както споменах, приказвате си за антики. Хем същевременно някои вкарват в приказката IoT устройства, които, поне понастоящем пусканите на пазара съвременни модели, не са като онези от преди 5-10+ години и имат малко по-различни параметри. N-стандарта на рутерите е абсолютна отживелица, ама абсолютна и тоя рутер, е за музея.

boot
boot

Ти си пишеш колкото да не заспиш. Казвам ти, че върши идеална работа, настроен е. Ти какво би ми препоръчал за 2 стаи с два линукс лаптопа и 1 телефон? Няма NFS, торенти и т.н. – дори интернет скоростта от доставчика е 8 мегабита. Браузване, онлайн радио, чат и Вайбър. Като това става само от едно устройство, щото само един човек живее там. Да речем, изгори устройството. Някаква адекватна причина защото да не купя същото или още по-ефтино? От това поне съм доволен, защото има фърмуер на DD-WRT и се поддържа. Или да ида взема UniFi AP и сървър с… Виж още »

Кольо
Кольо

„дори интернет скоростта от доставчика е 8 мегабита“
Сега, не знам дали ти е 8 мегабита, или 8 мегабайта, ако е второто си на минимума в БГ в момента, ако е първото, жив трябва да те оплачем, не си случил на доставчик.

Али
Али

Очевдино си келеш! Щом така се изказваш. Но прочети какво пишат хората, помисли – АКО ИМА С КАКВО И МОЖЕШ! – Пък тогава пиши! И то правилно, ей келешко! Памтивек! Недоносче с пореден номер …

Никола
Никола

Та адаш, казваш „няма смисъл“, значи явно въобще не си прочел статията или поне изобщо не си помислил над прочетеното. Хората в прав текст са си написали: „HermiTux стартира изключително бързо приложенията чрез хипервайзора – в рамките на 0,1 секунда.“ Т.е. едно бинарно приложение ще се стартира на това ядро много по-бързо отколкото на стандартното Линукс ядро. Това за краен потребител може и да не е „голяма работа“, но за индустриално приложение е нещо доста солидно, в много устройства може да доведе до доста сериозно подобрение на машините, които използват прости инструкции, но са силно зависими от системното забавяне на… Виж още »

Кольо
Кольо

Като са силно зависими от системното забавяне, въобще да не им качват операционна система.

TpueMacedonec
TpueMacedonec

Мда, беше въпрос на време. Откакто Linux почна да става непрактичен за устройства. Или трябва да се направи lite версия, или някой ще измисли нещо.

Oracle
Oracle

И … за къв чеп ми е „НЕЩО“, което иползва минимума от това, което имам?
Няма лошо де, нека си го ползват Дядовците, за нас, по-младите – ще ползваме нещо, което се възползва от максимума 😉

boot
boot

Смисълът е, че това „нещо“ не те бръсне за чеп – има надежда в него.

Говедото
Говедото

И ти и Кольо нямате никаква идея за какво говорите! Дори не знам защо си правя труда да пиша, ама а де пусто му може пък някой тъпунгер да вземе да захапе нещо от някъде и да почне да си ползва главата за нещо различно от шапкодържач. Ти като ти е толкова акъла ползвай „нещо, което се възползва от максимума“ като Боза 10 с милярд ъпдейти в секунда, за да може да си купуваш нов и нов хардуеър и пак да нямаш ресурс за програмите които ти трябват или работата която вършиш, а ние „по-простите“ ще караме я на линукс… Виж още »

Oracle
Oracle

Айде пак задръстените келеши от линукс-бг.орг ни налазиха …
Абе пичове … високопланински, да не казвам … селяндури невежи …
Абе стойте си в онзи мизерен портал и си показвайте простотията, колкото си искате.
Ама не – не искате.
И защо ли?
Ем щот нямате една стотинка в джобовете си и дори и не пожелахте да подпомогнете мизерния си портал с някой и друг лев, белким го обновяват и развиват малко по-честичко от … веднъж на 10 години.
Такава ви е цялата работа.
Е … надявам се да сте разбрали, че от вас и чеп за зеле е трудно да се направи,

Надблюдател
Надблюдател

И сега какво да не вземат да правят Линукси с ядро по избор 🙂 представи си инсталираш да речем Убунту и те пита Линукс или Хермитукс ядро искаш 🙂 . Но мен ме кефи. Но па се замислям колко дупки в сигурноста имаше Линук адрото дали и таз детска болест ще я има и това ядро – сигурно как иначе. А иначе да си ползваш стар хардуер с такова чудо би било добре защо не. Но неща като Распбиан и подобните Линукси може да имат доста полза от това то зерото е 256/512 Мегабайта е да толкова има на чипа… Виж още »