Kerla: ново ядро, написано на Rust и съвместимо с Linux ABI

Наскоро беше пусната информация за проекта Kerla, който се разработва като ядро ​​на операционната система, написано на езика Rust. Кодът се разпространява под лицензите Apache 2.0 и MIT. Проектът се разработва от японския разработчик Seiya Nuta, известен със създаването на операционната система за микроядро Resea, написана на език C.

Първоначално се цели новото ядро осигурете съвместимост с ядрото на Linux на ниво ABI, което ще позволи немодифицирани двоични файлове, създадени за Linux, да работят в среда, базирана на Kerla.

Относно Керал

Kerla е монолитно ядро ​​на операционната система създаден от нулата в Rust. На настоящия етап на развитие Керла може да се изпълнява само на системи с архитектура x86_64 и реализира основни системни извиквания като write, stat, mmap, pipe и poll, поддържа сигнали, неназовани канали и превключватели на контекст. Обажданията като fork, wait4 и execve предоставят за контрол на процесите. Има поддръжка за tty и псевдотерминали (pty). Сред файловите системи initramfs (използвани за монтиране на основния FS), tmpfs и devfs все още се поддържат.

Осигурен е и мрежов стек с поддръжка за TCP и UDP сокети, въз основа на библиотеката smoltcp. Разработчикът е подготвил среда за зареждане, която работи в QEMU или Firecracker VM с контролера virtio-net, към който вече можете да се свържете чрез SSH. Musl се използва като системна библиотека, а BusyBox се използва като потребителска помощна програма. Базирана на Docker, е подготвена система за изграждане, която ви позволява да създадете свой собствен initramfs boot с Kerla kernel.

Досега бяха предоставени малко подробности за новото ядро, но това, което привлича най-голямо внимание към характеристиките на Kerla, е фактът, че е написано на Rust. Така че писането на Rust има ли някакви предимства пред други езици или пред съществуващия код? Мнозина отговориха с „да“ на този въпрос, като подчертаха предимствата на сигурността на паметта, които езикът предоставя.

Предоставя се и при оценка на точността на достъпа до паметта по време на изпълнение. Какво още, Mozilla вярва, че Rust предлага защита срещу препълвания на цели числа, изисква задължителна инициализация на стойностите на променливите преди употреба, приема концепцията за препратки и неизменни променливи по подразбиране, предлага силно статично въвеждане за минимизиране на логическите грешки и опростява обработката на входа чрез съвпадение на шаблони.

Сред предимствата изтъкваме интегрираните инструменти за оценка на качеството на кода и създаване на модулни тестове, които могат да се изпълняват не само на реален хардуер, но и на QEMU. По принцип Mozilla намира Rust за по-лесен за отстраняване на грешки, тъй като компилаторът ще отхвърли грешки. Въпреки това, заливите посочиха някои недостатъци с Rust.

„Както при C ++, почти невъзможно е да се пише идиоматичен Rust, без да се използват шаблони, така че има раздути двоични файлове и бавно време за компилиране. Всички тези проверки по време на компилиране също са на цена. Освен това, ако пренапишете нещо, губите старата зряла кодова база и няма начин да създадете кодова база с подобно качество за разумен период от време; много по-добре е да разширите, отколкото да пренапишете програмата в Rust. По-добре е да разширите програмата, вместо да я пренапишете в Rust “, казва софтуерен инженер.

Според неговия създател, именно поради тази причина разработчиците на Linux, по-специално самият Линус Торвалдс, те отхвърлиха идеята за пренаписване на цялото ядро ​​в Rust.

„Направете малко работа, за да създадете сигурни връзки, след това напишете допълнителния код в Rust и все още можете да се насладите на този зрял код. (Това прави Linux, има усилия да се добави възможността за писане на модул на ядрото в Rust) “, добави той. Linux разработчиците проучват възможностите за писане на определени нови модули на ядрото, използвайки езика Rust от около три години. Това даде началото на проекта "Rust for Linux".

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


Бъдете първите, които коментират

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

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

*

*

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