Руст за Линук укључује неколико побољшања за подршку

Током последњих месеци Линук програмери су се свађали могућност дозволити употребу језика Руст да напишете нове драјвере уређаја за језгро.

Прошле године, програмери Линук кернела изгледа да су постигли договор по том питању, Присталице Руст-а су цитирале рад који показује да је отприлике две трећине рањивости кернела којима су додељени ЦВЕ у Андроиду и Убунту-у повезане са проблемима безбедности меморије.

Након ове изјаве, Линус Торвалдс, софтверски инжењер, водећи креатор и програмер Линук кернела, рекао је у интервјуу да би дискусије на ову тему биле много важније од дугачког Гугловог поста о језику.

На питање о предлогу да се користи Руст, он је рекао да је „решење овде једноставно: само користите Ц ++ уместо Руста.“

Након тога марта, покренута је прва подршкае који је омогућио да се Руст драјвери поставе у стабло Линук-Нект ради даљег тестирања пре њиховог евентуалног укључивања у главно језгро.

Одмах иза тога био је поново објављен „захтев за коментар“ на маилинг листи кернела о перспективи Руст кода за Линук кернел.

Мигуел ОједаПрограмер Линук кернела покренуо је предлог Захтева за коментаре (РФЦ) на мејлинг листи Линук кернела.

Објава на мејлинг листи је истакла уверења програмера укључених у додавање Руст кода у кернел, предности попут побољшане безбедности меморије и још много тога.

„Неки од вас су приметили последњих недеља и месеци да је учињен озбиљан покушај да се други језик уведе у кернел. Коначно смо тамо, са РФЦ-ом који додаје подршку за Руст Линук кернелу“, рекао је Мигел Ојеја. „Знамо да постоје огромни трошкови и ризици који су укључени у увођење новог језика у кернел“, додао је он.

Пројектни тим Руст фор Линук прешао са Руст бета компајлера на коришћење стабилних издања, мигрира сваки пут када се објави нова верзија.

„Желели бисмо да се захвалимо Русту што је радио са нама на овим опцијама како би кернел могао да их користи“, рекао је Мигел.

Приликом ажурирања компајлера тим успео је да уклони неке нестабилне карактеристике са листе: цонст_фн_трансмуте, цонст_паниц, цонст_унреацхабле_унцхецкед, цоре_паниц и три_ресерве.

Поред овога, истиче се да неке опције модуларизације су додате више да доделите да бисте онемогућили неке непотребне функције: но_рц и но_синц.

Упстреам, да би случај коришћења кернела био добро подржан, или тачније, „мешавина“ опција које су потребне кернелу, Упстреам језгро је такође додало но_фп_фмт_парсе.

С друге стране, Руст је омогућио низ додатних дијагностичких функција за компајлер Руст и Цлиппи. Једна разлика у односу на Ц је у томе што је дијагностику Руст-а мало лакше онемогућити у коду, што је строжије у општем случају.

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

Подршка од контролер је побољшан инфраструктуром независном од магистрале, Опозиви објекти, опозиви мутекси, ефикасни итератори битова, боља дијагностика панике и поједностављени омоти показивача. Поред тога, побољшао је и поједноставио Реф објекте (компатибилан са рефцоунт_т) и заменио све Руст инстанце.

И нови драјвер за гпио ПЛ061 уређаје је имплементиран и испоручен као РФЦ закрпа.

На крају треба приметити да Подршка за рђу се и даље сматра експерименталном. Поред тога, подршка је довољно добра да програмери кернела приону на посао у Руст апстракцијама за подсистеме за писање и контролере и друге модуле. Тренутна серија је управо стигла на Линук-нект, тако да ће се прво покретање одржати ове недеље.

izvor: https://lkml.org/lkml


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

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.