Пројекат Керла развија језгро компатибилно са Линуком у Русту

Пројекат Керла развија језгро оперативног система написано у Русту. Ново језгро је дизајнирано од темеља да буде компатибилно са Линук кернелом на АБИ нивоу, што ће омогућити немодификованим извршним фајловима направљеним за Линук да раде у окружењу заснованом на Керла. Код се дистрибуира под лиценцама Апацхе 2.0 и МИТ. Пројекат развија јапански програмер Сеииа Нута, познат по креирању Ресеа микрокернел оперативног система написаног на Ц.

У тренутној фази развоја, Керла може да ради само на к86_64 системима и имплементира основне системске позиве као што су врите, стат, ммап, пипе и полл, подржава сигнале, неименоване цеви и промене контекста. За управљање процесима су обезбеђени позиви као што су форк, ваит4 и екецве. Постоји подршка за тти и псеудо-терминале (пти). Од система датотека, инитрамфс (који се користи за монтирање основног ФС-а), тмпфс и девфс су и даље подржани. Мрежни стек је обезбеђен са подршком за ТЦП и УДП утичнице, имплементиране на бази смолтцп библиотеке.

Програмер је припремио окружење за покретање које ради у КЕМУ или у виртуелној машини Фирецрацкер са виртио-нет драјвером, на који се већ можете повезати преко ССХ-а. Мусл се користи као системска библиотека, а БусиБок се користи као кориснички услужни програм.

Пројекат Керла развија језгро компатибилно са Линуком у Русту

Засновано на Доцкер-у, припремљен је систем изградње који вам омогућава да креирате сопствене инитрамф-ове за покретање са Керла језгром. Нсх шкољка налик риби и Казари ГУИ стек заснован на Ваиланд протоколу се развијају одвојено.

Пројекат Керла развија језгро компатибилно са Линуком у Русту

Коришћење Руст језика у пројекту смањује број грешака у коду применом техника безбедног кодирања и побољшањем ефикасности идентификације проблема при раду са меморијом. Руковање безбедно за меморију обезбеђено је у Русту у време компајлирања кроз проверу референци, праћење власништва над објектом и животног века објекта (обим), као и кроз процену исправности приступа меморији током извршавања кода. Поред тога, Руст обезбеђује заштиту од прекорачења целог броја, захтева обавезну иницијализацију вредности променљивих пре употребе, подразумевано примењује концепт непроменљивих (непроменљивих) референци и променљивих, нуди снажно статичко куцање ради минимизирања логичких грешака, поједностављује обраду улазних вредности захваљујући објекти за подударање образаца.

За развој компоненти ниског нивоа, као што је језгро ОС-а, Руст обезбеђује подршку за необрађене показиваче, паковање структуре, уграђене уметке асемблера и уметање асемблерских датотека. Да бисте радили без везивања за стандардну библиотеку, постоје одвојени пакети за извођење операција над стринговима, векторима и битним заставицама. Међу предностима, ту су и уграђени алати за процену квалитета кода (линтер, руст-анализер) и креирање јединичних тестова који се могу покренути не само на стварном хардверу, већ иу КЕМУ.

Извор: опеннет.ру

Додај коментар