Стигла је осма верзија закрпа за подршку Руст драјвера на Линук-у

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

Ово се рангира као девето издање закрпа (узимајући у обзир прву објављену верзију без броја верзије). Подршка за рђу се сматра експерименталном, али је већ укључен у грану линук-нект, захтева интеграцију у јесењем издању 5.20/6.0, и довољно је напредан да почне да ради на креирању слојева апстракције на врху подсистема кернела, као и на писању контролера и модула.

Развој финансирају Гоогле и ИСРГ (Интернет Сецурити Ресеарцх Гроуп), која је оснивач пројекта Лет'с Енцрипт и промовише ХТТПС и развој технологија за повећање безбедности на Интернету.

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

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

Шта је ново у овом осмом издању?

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

Поред тога код повезивања је раздвојен у сноп кутија за „везивање“. одвојено, што олакшава реконструкцију ако се промени само главни пакет кернела.

Тхе имплементација макроа "цонцат_идентс!", Преписан као процедурални макро, није везан за функционалност цонцат_идентс и дозвољава употребу референци локалних променљивих.

Поред тога, помиње се да макро "статиц_ассерт!" је поново написано да омогући "цоре::ассерт!()" се користи у било ком контексту уместо константи, док макро "цонструцтион_еррор!" је прилагођено да ради при подешавању режима „РУСТ_БУИЛД_АССЕРТ_{ВАРН,АЛЛОВ}“ за модуле.

додат фс модул који обезбеђује везе за рад са системима датотека. Предлаже се пример једноставног система датотека написаног у Руст-у, као и модул редова послова који је додат за рад са системским редовима.

Од осталих промена који се издвајају из овог новог предлога:

  • Додата је засебна конфигурациона датотека "кернел/цонфигс/руст.цонфиг".
  • Датотеке „*.и“ обрађене у заменама макроа су преименоване у „*.рси“.
  • Уклоњена подршка за прављење Руст компоненти са нивоима оптимизације другачијим од оних који се користе за Ц код.
  • Развој касинц модула настављен је имплементацијом метода асинхроног програмирања (асинц).
  • Додан је пример ТЦП сервера на нивоу језгра написаног у Русту и додата је могућност руковања прекидима у Русту.
  • Додан је макро за процедуре да би се олакшао рад са табелама показивача функција, као што је структура филе_оператионс.
  • Додата имплементација двосмерне повезане листе "унсафе_лист::Лист".
  • Додата је почетна подршка за РЦУ и тип Гуард да се провери да ли је закључавање читања везано за тренутну нит.
  • Додата функција Таск::спавн() за аутоматско покретање и покретање нити кернела.
  • Такође је додат метод Таск::ваке_уп().
  • Додан модул одлагања

Коначно ако сте заинтересовани да сазнате више о томе, можете проверити детаље У следећем линку.


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

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

*

*

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