Tilck Project, опростено ядро, съвместимо с Linux

отметка

Tilck е образователно монолитно x86 ядро, проектирано да бъде съвместимо с Linux на двоично ниво.

Беше пусната новината за a нова разработка, която носи името «Project Tilck», в който се развива служител на VMware монолитно ядро, което е фундаментално различно от Linux, но проектирано да бъде съвместимо двоичен с Linux и способен да изпълнява приложения, създадени за Linux.

Развитието има за цел да реализира минимално необходимите характеристики, избягване на функционално претоварване, проста и разбираема архитектура, максимално опростяване на кода, малък размер на двоичните файлове, предвидимо (детерминистично) поведение, осигуряване на минимални забавяния, постигане на висока надеждност и опростяване на процесите на разработка и тестване.

Tilck е фундаментално различен от Linux по това, че не е насочен към многопотребителски сървъри или настолни машини, изобщо не защото това няма смисъл: Linux не е голям и сложен поради лоша реализация, а поради невероятния брой от характеристиките, които притежава. оферти и присъщата сложност, която изискват. С други думи, Linux е страхотен предвид проблема, който решава. Tilck ще предложи по-малко функции в замяна на:

по-прост код (далеч)
най-малък двоичен размер
изключително детерминистично поведение
ултра ниска латентност
по-лесно разработване и тестване
допълнителна здравина

Проектът не е предназначен за използване в сървърни среди с много потребители или настолни системи. От файловите системи FAT16 и FAT32 се поддържат в режим на четене, както и ramfs, devfs и sysfs. Блоковите устройства все още не са внедрени; всичко е в паметта.

VFS се предоставя за абстрахиране на операциите на FS. Многонишковостта на текущия етап на разработка е достъпна само на ниво ядро ​​(все още не е предоставено в потребителското пространство).

Ядрото поддържа превантивна многозадачност и изпълнява около 100 основни повиквания. към системата Linux, като fork(), waitpid(), read(), write(), select() и poll(), които са достатъчни за стартиране на конзолни приложения като BusyBox, Vim, TinyCC, Micropython и Lua, както и базирани на framebuffer графични приложения като играта fbDOOM. За създаване на програми за Tilck е предоставен набор от инструменти, базирани на библиотеката Musl.

Споменава се, че предложеният набор от драйвери позволява стартиране на Tilck както в средата на QEMU както при конвенционалните системи, стартиращи от USB устройство. В допълнение към това се отбелязва също, че има поддръжка за разширени набори от инструкции SSE, AVX и AVX2. Той предлага собствен интерактивен буутлоудър, който поддържа BIOS и UEFI системи, но също така е възможно да се използват буутлоудъри на трети страни, като GRUB2. Когато се зареди в QEMU, ядрото може да работи в среда с 3 MB RAM.

В момента проектът се позиционира като образователен проект, но в дългосрочен план е възможно Tilck да нарасне до ниво, подходящо за използване като ядро ​​за вградени системи, които изискват предвидимо поведение и ниска латентност.

Докато Tilck вътрешно използва концепцията за нишка, многонишковостта в момента не е изложена на потребителско пространство (съществуват нишки на ядрото, разбира се). Както fork(), така и vfork() са внедрени правилно и копирането при запис се използва за разклонени процеси. Системното извикване на waitpid() е напълно внедрено (което предполага групи процеси и т.н.).

Една интересна функция в тази област заслужава специално споменаване: въпреки липсата на многопоточност на потребителското пространство, Tilck има пълна поддръжка за TLS.

Очаква се това отметка преодоляване на пропастта между базирани на ядрото на Linux решения и специализирани операционни системи в реално време, като FreeRTOS и Zephyr. Плановете включват мигриране на Tilck към ARM и не-Memory Management Unit (MMU) процесори, добавяне на мрежова подсистема, поддръжка за блокови устройства и допълнителни файлови системи като ext2.

Кодът е написан на C и се разпространява под BSD лиценз. На настоящия етап на разработка ядрото поддържа само x86 архитектурата, но кодът е проектиран с мисъл за универсалност и внедряване за бъдеща поддръжка за други архитектури.

най-накрая, ако сте заинтересовани да научите повече за това, можете да проверите подробностите В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.