Грег Кроах-Хартман, нещодавно один із зберігачів ядра Linux отримав пропозицію в якому сказано що цілком можливо, що рамки, присвячені розробці драйверів мовою Rust, будуть прийняті в ядрі.
Хоча на даний момент немає нічого конкретного, для цього, Грег Кроах-Хартман формулює дві умови: Один з них полягає в тому, що фреймворк не буде активований за замовчуванням у разі його інтеграції, щоб уникнути того, що для компіляції ядра не потрібен Rust; по-друге, що запропонований підхід має реальні переваги порівняно з тими, що походять від використання мови С.
Відомо, що ядро Linux є продуктом розробок на мовах C, і перш за все те, що для Linus Torvalds C - це перш за все. Отже, при розробці драйверів для системи, використання C.
Розробники компрометували величезні можливості який пропонує з точки зору управління апаратними ресурсами комп’ютерної системи використання Rust.
І це все більше і більше голосів піднімається, щоб закликати перехід до мови Іржа, один з яких повинен замінити С для контролю матеріалу.
І це те, що на останньому саміті з безпеки Linux, дослідники безпеки разом з іншими вказували на один із найбільших мовних недоліків C - це проблеми, пов'язані з управлінням пам'яттю - переповнення буфера, розподіл, доступ до недійсних або звільнених областей пам'яті тощо.
Відповідно до цифр, про які повідомляє дует дослідників, результат 65% уразливостей ядра Linux, виявлених за останні 6 місяців. Показники загальної вразливості та впливу (CVE) подібні: 15.9% із 2288 уразливостей, які вплинули на ядро Linux за 20 років, пов’язані з переповненням буфера.
Дослідницька група говорила не лише про переваги, які пропонує Rust порівняно з C. Він також скористався можливістю представити ініціативу щодо розробки основи, присвяченої розробці драйверів Linux.
Простіше кажучи, зусилля полягає у роботі з API ядра Linux. Розробки стосуються архітектур x86, arm / arm64, mips, POWERPC, RISC-V, s390 та SPARC.
перо найбільша проблема полягає в тому, що лише Лінус Торвальдс вважає, що немає нічого кращого, ніж мова С для системного програмування.
Треба сказати, що я досить старомодний у таких питаннях. Причиною того, що я запустив Linux та операційні системи загалом, є те, що мені дуже подобається апаратне забезпечення. Мені подобається досліджувати матеріальний аспект.
Я не кажу це, щоб підкреслити, що я фахівець. Я маю на увазі те, що мені подобається взаємодіяти з апаратним забезпеченням із програмного забезпечення. З цієї точки зору я ще не бачив мови програмування, яка наближається лише до мови C.
Це твердження не лише тому, що C корисний для створення хорошого коду для обробки обладнання. Крім того, використання C має сенс для людей, які думають як комп’ютер. Я думаю, що причина в тому, що люди, які розробляли мову С, робили це в той час, коли компілятори повинні були бути простими; в той час, коли мова повинна була адаптуватися до очікуваного результату чи результату.
Отже, коли я читаю код мовою C, я знаю, як буде виглядати код збірки, і це те, що мене цікавить », - сказав він 7 років тому під час одного зі своїх виступів на конференції. Центр технологій з відкритим кодом Intel.
Раніше ви відмовлялися від подібних пропозицій щодо впровадження С ++ в колі мов, присвячених розробці драйверів для Linux. Зокрема, він підкреслив здатність зробити об’єктно-орієнтований чистіший із C, ніж із C ++.
Ініціатива Алекса Гейнора та Джеффрі Томаса продовжує залишатися чудовим проектом з багатьох осей. Наприклад, дослідницька група наголошує на необхідності продовжувати розробку драйверів для файлових систем та для певних типів пристроїв.
Тоді нам доведеться подивитися, чи зміст може переконатиra супровідники Linux.