ЛОНДОН-В своем основном доме в Kubecon + CloudNativecon Europe Грег Кроа-Хартман, содержит стабильный релиз Linux, сказал, что Linux, который вносит 76 000 изменений в год, с 380 сопровождающими и 700 разработчиками, медленно, но верно охватывает Rust-Kernel.
Почему ребенок -плакат для программирования C, включающий сравнительно новую ржавчину? Легко: ржавчина намного безопаснее. Кроа-Хартман привел пример ошибки в области безопасности Bluetooth, которая была исправлена много лет назад, но, упс, после того, как он прекрасно искал в течение первых нескольких лет, оказывается, что исправление представило новую ошибку. С C это слишком распространено. Трудно сделать безопасную память C.
Когда «мы пишем этот код в ржавчине,-объяснил Кроа-Хартман:« Мы не только улавливаем ошибку, но и компилятор ловит ошибку для вас, и это очень, очень важно. Мы хотим, чтобы компилятор отметил ошибку еще до того, как поддерживающее средство пришлось снова посмотреть на это ».
Меньше CVE
Поскольку компилятор Rust может обеспечить соблюдение правил, которые предотвращают многие из этих проблем во время компиляции, это сокращает количество общих уязвимостей и воздействий (CVE) в ядре.
Это, в свою очередь, важно для облачных нативных вычислений, действительно всего, все, что работает на Linux, таких как серверы и стиральные машины, потому что, когда сегодня возникает ошибка Linux, это почти всегда отверстие для безопасности, потому что Linux работает на таком низком уровне.
В настоящее время ядро Linux содержит около 34 миллионов строк C -кода, и только 25 тысяч строк записано в Rust. Тем не менее, новые программы, такие как драйверы графических процессоров, написаны в ржавчине. Ожидается, что этот сдвиг облегчит понимание и просмотр кода, что приведет к улучшению стабильности с течением времени.
Это здорово, но включить ржавчину в ядро Linux нелегко. Даже создатель Linux Linus Torvalds, поскольку он готовит следующий выпуск ядра Linux, сказал, что слияние Rust с Linux не просто. «Я решил попытаться сделать слияние самостоятельно, но потерпел неудачу. Я подошел близко, но было хорошо, что ваш пример слияния, чтобы увидеть, что я ошибся. Я в конце концов узнаю, а пока, пожалуйста, продолжайте привести мне пример слияния, и я буду использовать их в качестве учебных колес».
Напишите код для людей, а затем для компиляторов
За исключением того, что, как отметил Кроа-Хартман, «изменение умы разработчиков ядра сложно». Например, выдающийся инженер программного обеспечения и содействие ядрам Linux Кристоф Хеллвиг — эксперт C, но он, по понятным причинам, также не взволнован тем, что нуждается в изучении ржавчины.
Еще одна причина, по которой вы, возможно, не думали — я думаю, что каждый может понять, не желая выучить новый язык программирования — и почему «мы сварливы в этом [moving to Rust] Это потому, что это заставляет нас пересмотреть наш код C, и наш код развился за последние 30 лет так, чтобы иногда мы его не понимали ».
Итак, он продолжил: «Иногда нам нужно вернуться назад и взглянуть на это и обеспечить соблюдение правил, которые ржаветь позволяет нам принудительно принудительно соблюдать правила нашего C API в ядре, которые мы не знали раньше. Так что это заставляет нас повторно рассмотреть старый код, и это трудно.
Это потому, что это облегчит поддержание кода. Опять же, мы пишем код сначала для людей, а затем компиляторы. Это заставит нас продлиться в течение следующих 30-40 лет, заставит компилятор сделать работу для нас, и это позволяет нам, я думаю, повеселиться для сопровождающих, потому что, опять же, компилятор может работать заранее ».
Облегчая содействия сопровождающим и разработчикам, это также «сделает Linux более безопасным для вас. Вы можете решить свои проблемы с нативными вычислениями облачных вычислений, и это очень важно для вас.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Стивен Дж. Воган-Николс, известный как SJVN, пишет о технологиях и технологии, так как CP/M-80 был передовой операционной системой ПК, 300BPS был быстрым подключением к Интернету, WordStar был современным текстовым процессором, и нам понравилось. Подробнее от Стивена Дж. Вогана-Николса