an_read">

На этой неделе разработчики Google сообщили, что Android получит поддержку языка Rust, так как он более безопасен и позволит предотвратить появление ошибок, связанных с памятью. Ради этого инженеры Google 18 месяцев работали над созданием различных частей Android Open Source Project (AOSP) с помощью Rust, а теперь эту инициативу масштабируют, чтобы охватить больше аспектов ОС.

«Управляемые языки, такие как Java и Kotlin, — это оптимальный вариант для разработки приложений для Android. ОС Android широко использует Java, эффективно защищая большие части платформы Android от ошибок памяти. Но, к сожалению, для нижних уровней ОС Java и Kotlin не подходят», — рассказывают в компании.

Дело в том, что написанный на C и C ++ код требует хорошей изоляции при парсинге ненадежных входных данных, и «сдерживание» такого кода в жестко ограниченной и непривилегированной песочнице может быть весьма сложным, а также вызывать различные проблемы и дополнительное использование памяти.

Кроме того, известно, что на ошибки безопасности памяти, связанные с C и C ++, приходится примерно 70% серьезных уязвимостей в Android. Поэтому в итоге, чтобы предотвратить появление подобных проблем, было принято решение переключиться на более безопасный язык, такой как Rust.

При этом разработчики Google не намерены переписывать весь существующий код на C и C ++, вместо этого они сосредоточат усилия на недавно измененном коде, где с большей вероятностью могут возникнуть ошибки, связанные с памятью. В частности на Rust полностью перепишут Bluetooth-стек Gabeldorsche, а также разработке уже находится сетевой стек для опенсорсной операционной системы Fuchsia.

Источник: xakep