Дастгирии Rust барои ядрои Linux ба танқиди Торвалдс дучор мешавад

Линус Торвалдс часбҳоеро баррасӣ кард, ки қобилияти эҷоди драйверҳоро бо забони Rust барои ядрои Linux амалӣ мекард ва чанд шарҳи интиқодӣ дод.

Бузургтарин шикоятҳо аз эҳтимолияти эҳтимолии ваҳшат () дар ҳолатҳои хатогӣ, масалан, дар ҳолати хотираи кам, вақте ки амалиёти тақсимоти хотираи динамикӣ, аз ҷумла дар дохили ядро ​​​​метавонад ноком шавад. Торвалдс изҳор дошт, ки чунин бархӯрд дар ядро ​​​​аслан қобили қабул нест ва агар ин нукта дарк нашавад, вай метавонад ҳама гуна кодеро, ки чунин равишро истифода мебарад, комилан НАК карда метавонад. Аз тарафи дигар, таҳиягари патч бо ин мушкилот розӣ шуд ва онро ҳалшаванда мешуморад.

Мушкилоти дигар кӯшиши истифодаи нуқтаи шинокунанда ё намудҳои 128-бит буд, ки барои муҳитҳо ба монанди ядрои Linux қобили қабул нестанд. Ин як мушкили ҷиддӣтар шуд, зеро дар айни замон китобхонаи асосии Rust тақсимнашаванда аст ва як блоки калонро ифода мекунад - роҳи дархости танҳо баъзе хусусиятҳо вуҷуд надорад, ки истифодаи ин ё он функсияи мушкилро пешгирӣ мекунад. Ҳалли мушкилот метавонад тағиротро дар компилятор ва китобхонаҳои занг талаб кунад, гарчанде ки дар айни замон даста стратегияи татбиқи модулсозии китобхонаҳои забонро надорад.

Илова бар ин, Торвалдс қайд кард, ки намунаи ронандаи пешниҳодшуда бефоида аст ва ба мо маслиҳат дод, ки ҳамчун намуна баъзе ронандаеро истифода барем, ки яке аз мушкилоти воқеиро ҳал мекунад.

Навсозӣ: Google иштироки худро дар ташаббуси ворид кардани дастгирии Rust ба ядрои Linux эълон кард ва сабабҳои техникии ҷорӣ кардани Rust-ро барои мубориза бо мушкилоте, ки аз хатогиҳои хотира бармеоянд, пешниҳод кардааст. Google боварӣ дорад, ки Rust омода аст ба C ҳамчун забон барои таҳияи ҷузъҳои ядрои Linux ҳамроҳ шавад. Дар мақола инчунин мисолҳои истифодаи забони Rust барои таҳияи драйверҳои ядро ​​​​дар заминаи истифодаи онҳо дар платформаи Android оварда шудааст (Руст ҳамчун забони расман дастгирӣшаванда барои таҳияи Android эътироф шудааст).

Қайд карда мешавад, ки Google як прототипи ибтидоии ронандаеро, ки дар Rust навишта шудааст, барои механизми иртиботи байнипроцесси Binder омода кардааст, ки имкон медиҳад, ки коршоямӣ ва амнияти татбиқи Binder дар C ва Rust муқоиса карда шавад. Дар шакли ҳозираи худ, кор ҳанӯз ба итмом нарасидааст, аммо тақрибан барои ҳамаи абстраксияҳои асосии функсияи ядро ​​​​, ки барои кор Биндер заруранд, қабатҳо барои истифодаи ин абстраксияҳо дар коди Rust омода карда шудаанд.

Манбаъ: opennet.ru

Илова Эзоҳ