Fosdem 2025: Rust работает в Linux, несмотря на негативную реакцию

Ржавчина должна в конечном итоге заменить код C в ядре Linux. Руб в том, что вам придется ждать десятилетия, чтобы это произошло. Но в ближайшей перспективе ожидайте увидеть всплеск кода Rust, который включает Linux во всем от Edge Devices до Microsoft Xbox — в то время как многие, в том числе некоторые сопровождающие ядра Linux, не довольны этим.

Руста обязан растущей популярностью в ядре и давно доказала свое превосходство над C в самых разных вариантах использования ядра Linux и в других местах, особенно для безопасности памяти. И все же ржавчина не без собственных рисков по сравнению с C в ядре, его очень крутая кривая обучения, которую можно использовать. Больше разработчиков и боевиков ядра любят ржавчину, но в сообществе развития ядра существует раздоры между этими лагерями Pro-rust и –C, что продолжило это на этой неделе благодаря жарким обменам.

@fosdem 25: Давайте просто скажем, что есть много сильных мнений о месте @Rustlang в ядре @Linux, как описал Rust for Linux Miguel Ojeda, в них включены нюансы и предостережения. pic.twitter.com/qyouzb2fbg

— BC Gain (@bcamerongain) 1 февраля 2025 г.

Динамика, связанная с ржавкой, была основным предметом дискуссии в Fosdem (Европейское собрание разработчиков и разрабатывающих и открытых исходных кодов), ведущей конференции с открытым исходным кодом, организованной добровольцами, проводимыми в Université Libre de Bruxelles (ULB) в Брюсселе. Среди десятков переговоров, связанных с ржавчиной, выделялись одноименные Rust for Linux Talk, предоставленные Мигелем Оджедой, который поддерживает проект и является членом Технического консультативного совета Foundation Linux. В дополнение к обсуждению проекта Rust for Linux, он рассмотрел статус набора дистрибуции, стабильность ржавчины и, что важно, как вы можете внести свой вклад в развитие ядра. Программа Rust for Linux также сотрудничает с GCP и другими организациями в способах продвижения добавления прямого доступа к памяти (DMA) в ядро ​​Linux.

Google был убежденным сторонником добавления ржавчины в ядро ​​для Linux, работающего на своих телефонах Android. Использование ржавчины в ядре рассматривается как способ избежать уязвимостей памяти, связанных с кодом C и C ++, и добавлять большую стабильность в ОС Android. «Желание Google заменить C -код на ржавчине представляет собой небольшой кусочек ядра, но это окажет огромное влияние, так как мы говорим о миллиардах телефонов», — сказал мне Оджеда после его выступления.

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

Разработчики ядра: @linus__torvalds на #ossummit: «По какой -то причине все обсуждение @rustlang против C принимает почти религиозные обертоны. »@ThenewStack pic.twitter.com/6tl7cavirk

— BC Gain (@bcamerongain) 16 сентября 2024 г.

То, что Оджеда не охватил во время его выступления, было самой последней негативной реакцией против тех, кто не хочет смешивать C и код Rust в контейнере. В сентябре Линус Торвальдс, создатель Linux, назвал противоречие как «почти религиозные военные оттенки» во время его основного доклада на саммите с открытым исходным кодом. Затем Торвальдс сказал, что, хотя противоречие включает в себя здоровые аргументы, некоторые становятся очень негативными.

Вопрос — это культурное столкновение между языком C и языком ржавчины, когда дело доходит до подачи изменений по границам языка. Изменение чего -то, что является интерфейсом С от имени ржавчины, может иметь смысл с точки зрения ржавчины (и наоборот), в то время как С. С. люди ищут вклад ржавчины, чтобы подключиться к C.

Спор отслеживает более трех лет назад, когда была представлена ​​идея, что ржавчина, предлагающая определенные преимущества безопасности, которые не имели С, могут стать частью ядра и потенциально заменить его. Несмотря на это, проект не остановился.

Например, знаменитые переполнения буфера или уязвимости, которые могут быть получены с помощью C и процессора, теперь стали почти устаревшими. В то время как Rust предлагает определенные функции безопасности и недостатки, ее также гораздо сложнее учиться по сравнению с C, что легче понять.

В недавнем обмене между лагерями Pro -Rust и -C, инженером -программистом и соавтором ядра Linux Кристоф Хеллвиг в электронном письме в начале января: «Нет кода ржавчины в ядре/DMA, пожалуйста». Его сообщение было в ответ на запрос добавить патч для ржавчины для DMA API в ядре Linux. В январе во время более недавнего обратного и вперед дискуссия наканулась накануне собраний Fosdem Fringe в среду.

(В 2016 году Hellwig проиграл в качестве истца в судебном иске в немецком суде против тогдашнего VMware, утверждая, что VSphere нарушила лицензию с открытым исходным кодом. Немецкий суд в Гамбурге отклонил иск.)

На прошлой неделе Hellwig отклонил общение инженером Red Hat и поддержкой поддержки Danilo Krummrich для добавления абстракций ржавчины для C API.

Krummrich предложил сохранить слой абстракции ржавчины для последовательного распределения DMA, чтобы служить «отдельным компонентом». Затем Hellwig ответил на предложение Krummrich на прошлой неделе:

«Что мне не помогает. Каждый дополнительный бит, который другой язык накапливается в радикально, уменьшает обслуживание ядра в качестве интегрированного проекта. Единственная причина, по которой Linux удалось выжить так долго, — это отсутствие внутренних границ, и добавление другого языка полностью сломает это. Вам может не понравиться мой ответ, но я сделаю все, что могу сделать, чтобы остановить это. Это не потому, что я ненавижу ржавчину. Хотя это не мой любимый язык, это окончательно один из лучших новых, и я призываю людей использовать его для новых проектов, где он подходит. Я не хочу, чтобы он был рядом с огромной базой C, которая мне нужно поддерживать ».

Ржавчина

На фоне спора было постоянное поток вокальной поддержки Ojeda. Большая часть его дискуссии также охватывала заявления, приведенные защитниками ржавчины ядра, начиная от ведущих разработчиков ядра и включения самого создателя Linux Линуса Торвальдса до технологий, лидирующих от Red Hat, Samsung, Google, Microsoft и других.

Во время своего выступления Оджеда подтвердил заявление, которое он ранее писал в сообщении по электронной почте Torvalds в 2021 году, которое, по его словам, все еще верно сегодня:

«Используя ржавчину в ядре Linux, мы надеемся, что:

— Новый код, написанный в Rust, имеет сниженный риск проблем безопасности памяти, в целом расы данных и логических ошибок благодаря языковым свойствам, упомянутым ниже.

— Содействия более уверены в рефакторинге и принятии пятен для модулей благодаря безопасному подмножеству ржавчины.

— Новые драйверы и модули становятся легче писать благодаря абстракциям, о которых легче рассуждать, основываясь на функциях современного языка, а также подкреплена подробной документацией.

— В целом, все больше людей участвуют в развитии ядра благодаря использованию современного языка.

— Используя инструменты ржавчины, мы продолжаем обеспечивать соблюдение руководящих принципов документации, которые мы установили в проекте. Например, нам требуются все общедоступные API, предварительные условия безопасности, небезопасные блоки и инварианты типа [sic] задокументировано. «

Между тем, выбор между использованием ржавчины и C не обязательно является либо/или проблемой. Опять же, C будет использоваться в ряде слоев и спецификаций ядра на неопределенный срок, я бы сказал. В конце концов, старая поговорка применяет, что «если она не сломана, то не исправляйте ее».

«Некоторые сопровождающие не хотят бросить C», — сказала мне Оджеда. «Но когда C больше не используется, зависит от зрелости. Это зависит от субстрата и зрелости архитектуры, которая варьируется ».

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. BC Gain является основателем и главным аналитиком Revecom Media. Его одержимость компьютерами началась, когда он взломал консоль космических захватчиков, чтобы играть весь день за 25 центов в местной видеокаде в начале 1980 -х годов. Затем он … читайте больше от B. Cameron Gain

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *