Проектът Chromium ще поддържа използването на библиотеки на Rust

Хром

, проектът Chromium ще поддържа използването на C++ Rust библиотеки на трети страни в Chromium

Google представи новини наскоро, че екипът зад проекта Chromium работи върху добавянето на верига инструменти Rust от производството до вашата система за изграждане.

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

Това ще ни позволи да включим кода на Rust в двоичния файл на Chrome през следващата година. Целта е да се започне с малко и да се зададат ясни очаквания за това кои библиотеки ще бъдат разгледани, когато са готови.

Така че е логично, че Chromium най-накрая започва да пуска и тази технология. За Google въвеждането на Rust в Chromium ще изпълни целта за осигуряване на по-лесен и по-безопасен начин за спазване на правилото на две, което е да се ускори разработката и да се подобри сигурността на Chrome, в допълнение към подобряването на сигурността, премахването на грешки в паметта и намаляване на плътността на грешките в кода.

Знаем, че C++ и Rust могат да работят много добре заедно, благодарение на инструменти като cxx, autocxx bindgen, cbindgen, diplomat и (експериментален) crubit. Има обаче и ограничения. Можем да очакваме формата на тези ограничения да се промени с течение на времето с нови или подобрени инструменти, но решенията и описанията тук се основават на текущото състояние на технологиите.

Решението беше предприето като част от инициатива за предотвратяване на появата на грешки в паметта в кодовата база на Chrome. Според статистиката, предоставена преди две години, 70% от критичните и опасни проблеми със сигурността в Chromium се дължат на грешки в паметта.

Използването на езика Rust, който се фокусира върху безопасното управление на паметта и осигурява автоматично управление на паметта, ще намали риска от уязвимости, причинени от проблеми като достъп до област от паметта, след като тя е била освободена и препълване на буфера.

Целта на внедряването на Rust в Chromium е да се осигури по-лесен (без IPC) и по-безопасен (по-малко сложен C++ като цяло, без грешки в безопасността на паметта в пясъчник) начин за удовлетворяване на правилото на две, за да се ускори разработката (по-малко код за писане , по-малко дизайнерски документи, по-малко корекции за сигурност) и за подобряване на сигурността (повече редове код без грешки в сигурността в паметта, по-ниска плътност на грешки в кода) на Chrome. Освен това компанията е уверена, че можем да използваме библиотеки на Rust на трети страни, за да постигнем тази цел.

В началото на 2022 г. екипът на Chromium вече беше експериментирал с Rust и след няколко месеца стигна до заключението че езикът първоначално е неподходящ като C++ заместител за сложни задачи с асинхронен код, който трябва да работи заедно със съществуващ код.

Следователно, планираното използване на Rust в Chromium първоначално е ясно ограничено. От една страна, взаимодействието ще върви само в една посока: от C++ към Rust. От друга страна, първоначално е разрешено само използването на библиотеки на трети страни. Те работят като самостоятелни компоненти и са независими от вътрешните компоненти на Chromium. Библиотеките трябва да имат прост API за вашата конкретна задача. След това екипът на Chromium ще прегледа библиотеките.

И накрая, заслужава да се спомене, че като такъв добавянето на поддръжка в Chromium ще позволи на кода на Rust да се пренесе в двоични файлове на Chrome от следващата година. Решението се отнася главно до въпроса за сигурността: Rust предлага по-голяма сигурност при запис в паметта от C++ и забранява потенциално вредни поведения като четене на незаписани променливи, достъп извън границите, определени от масиви, дерефериране на нулеви или невалидни указатели, използването на заменени итератори .

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


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

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

*

*

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