Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Предложение по обсуждению вопроса добавления в ядро Linux средств для разработки на языке Rust

Ник Десанье (Nick Desaulniers), занимающийся в Google обеспечением поддержки сборки ядра Linux с использованием компилятора Clang и также помогающий исправлять ошибки в компиляторе Rust, предложил провести на конференции Linux Plumbers Conference 2020 сессию для обсуждения предоставления возможности разработки компонентов ядра на языке Rust. Ник занимается проведением микро-конференции, посвящённой LLVM, и считает, что было бы неплохо обсудить технические аспекты возможной интеграции поддержки Rust в ядро (им уже подготовлен рабочий прототип для KBuild) и понять нужно ли вообще добавлять такую поддержку и какие ограничения по использованию Rust следует принять.

Напомним, что в недавней дискуссии на конференции "Open Source Summit and Embedded Linux" Линус Торвальдс не исключил появление привязок для разработки неосновных подсистем ядра (например, драйверов) на таких языках как Rust. Возможность разработки драйверов на языке Rust позволила бы с минимальными усилиями создавать безопасные и более качественные драйверы, избавленные от таких проблем, как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера. Уже существует несколько сторонних проектов по реализации такой возможности:

  • Разработчики из компании "Fish in a Barrel" подготовили инструментарий для написания загружаемых модулей для ядра Linux на языке Rust, используя для повышения защиты набор абстрактных прослоек над интерфейсами и структурами ядра. Прослойки автоматически генерируются на базе имеющихся заголовочных файлов ядра при помощи утилиты bindgen. Для сборки прослоек используется Clang. Собираемые модули помимо прослоек используют пакет staticlib.
  • Исследователи из Китайского университета в Гонконге развивают проект для разработки на Rust драйверов для встраиваемых систем и устройств интернета вещей, который также использует bindgen для генерации прослоек на основе заголовочных файлов ядра. Фреймворк позволяет добиться повышения безопасности драйверов без внесения изменений в ядро - вместо создания в ядре дополнительных уровней изоляции для драйверов, предлагается блокировать проблемы на этапе компиляции, применяя более безопасный язык Rust. Предполагается, что подобный подход может оказаться востребован производителями оборудования, разрабатывающими проприетарные драйверы на скорую руку без проведения должного аудита.
  • Разработчики фреймворка C2Rust для трансляции Си-кода на Rust, проводят эксперименты по преобразованию модулей ядра с минимальными ручными правками. Из проблем отмечается применение во многих частях ядра кода, в котором используются расширения GCC, пока не поддерживаемые в C2Rust. Для решения данной проблемы в C2Rust планируется добавить поддержку GCC атрибутов inline, cold, alias, used и section, а также расширить возможности inline-ассемблера и решить проблемы со структурами, которые одновременно выровнены и упакованы (например, xregs_state). Из существенных проблем, требующих ручной работы, отмечается невозможность транслировать нетривиальные Си-макросы в макросы Rust и необходимость переопределения типов, так как C2Rust транслирует Си-типы в определения в пакете libc, но этот пакет нельзя использовать в модулях ядра.

Дополнение: Идею поддержал Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за поддержку стабильной ветки ядра Linux, а также являющимся мэинтейнером ряда подсистем ядра Linux (USB, driver core) и основателем инициативы по разработке драйверов для Linux (Linux driver project). Высказался в комментариях и Линус Торвальдс.

OpenNET

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...