Pull to refresh

Comments 27

Из ядра уберут legacy-драйвер, обеспечивающий работу устройств с интерфейсом IDE/PATA

Конец дистрибутивам, ориентированным на старые ПК? Вот как после этого ставить свежий дистрибутив какого-нибудь Puppyrus (или другой) с новым ядром на относительно старое железо? Или всё же этот драйвер в виде модуля оставят?

Опускаемся на две ссылки вглубь и читаем:

Before getting too emotional over your ribbon cables, this is not the removal of IDE support from the Linux kernel. Rather, this is only about the legacy IDE driver. IDE hardware support will remain available in the Linux kernel via the libata layer. The Linux kernel for years has used libATA as its preferred library for supporting ATA controllers and devices. There are libata-based drivers for all the popular hardware of the time while it's just the previous legacy IDE driver that is set to be removed from the kernel in two years time.

Вообще, необходимость удаления кода ввиду отсутствия поддержки это печально и указывает на недостаточный уровень модульности ядра. Если код один раз написан в соответствии с некоторым интерфейсом ядра, отлажен и работает — то зачем его вообще поддерживать?
Потому что интерфейсы ядра меняются, например.
Изменчивость интерфейса ядра для модулей — это осознанное архитектурное решение в Linux. Именно по этой причине на самом деле нужные модули стараются держать внутри ядра, что делает процесс разработки гибче.

Потому что не собор, а базар. В NetBSD, насколько я понимаю, обычно происходит, как вы описываете. Поэтому, имея меньше всего пользователей и разработчиков из *BSD, она до сих пор как-то ковыляет.

Также стоит отметить, что в Linux будет поддержка ARM и RISC-V благодаря компоненту rustc_codgen_gcc…

Непонятно, причем тут поддержка ARM и RISC-V. Во-первых, Linux и так поддерживает ARM. Во-вторых, это относится только к rust-коду, при чем тут Linux в целом? В третьих, данный компонент предназначен для того, чтобы код на rust можно было скомпилировать для платформ, поддерживаемых GCC. В общем, этот абзац, на мой взгляд, можно совсем выкинуть из заметки, кроме предложения о том, что в ядро скоро может будет писать на rust.

А это не снизит производительность? Ну типа Раст или как его там, все таки си довольно низкоуровневый и оптимизированный годами, а эти ваши хипстерские новомодные языки не пойми что.

Первый раз за 30 лет в ядро добавляют поддержку нового языка. Я хотя бы из любопытства посмотрел, что же это за такой хипстерский язычок.

Раст тоже *может быть* низкоуровневым и оптимизированным. Не факт, что уже таковым является, но теоретически его таким можно сделать. Он не тянет за собой виртуальных машин, сборщиков мусора, в нём нет каких-то фундаментальных ограничений. Всё или уже работает быстро, или может быть оптимизировано и работать быстро в будущем.

Тоесть получается чтобы сделать произвольное ядро от generic мне требуется знать 2 языка? Такой 20 лет патчи к ядру делал, а теперь с каждой новой версией будут добавлять новый язык который если не знаешь уволят? Охренительно, я в восторге...

Поддержка раста не такая уж и богатая, есть встраивание в систему сборки и биндинги на C реализацию функций ядра. Linux headers никто разом не выкинул. Написали пример с драйвером для GPIO https://lwn.net/Articles/863459/. Приглашают энтузиастов пробовать разрабатывать собственные драйверы.


а теперь с каждой новой версией будут добавлять новый язык который если не знаешь уволят?

это ваши отношения с работодателем.

Нет, конечно. Подавляющее большинство кода и ядра, и драйверов всё так же будет на С. Просто в определённых местах, возможно, люди захотят использовать Rust. Вот решит производитель какого-то железа, что ему важно качество продукта и потребует драйвер для него написать на Rust. Ну, в таком случае да, тот, кто 20 лет сидел в танке и писал на одном С, такой проект не получит.

на мой взгляд, "человек 20 лет писавший на Си", с удовольствием перейдет на Rust при появлении такой возможности.

Может быть да, а может быть и нет. Имея за плечами 20 лет на С, можно уже любой проект на С делать с закрытыми глазами, а с Rust дело, возможно, пойдёт, а возможно и нет. Тем, у кого есть 20 лет опыта, уже за 40 лет, не всем в этом возрасте хочется прыгать в незнакомый омут.

Ну, так-то и на расте с помощью ансейф-магии можно получать тот же ассемблерный выход, что и на си, но предлагаю не холливарить на тему "а нафига тогда оно надо".

Главное, что это только добавит возможность писать модули на расте, поэтому производительности существующего кода ничего не будет. А производительность создаваемых расто-модулей будет зависеть только от их разработчиков.

В Си из-за aliasing'а (когда разные переменные ссылаются на один тот же участок памяти, часто с разным представлением типов) нет возможности компилятору использовать все возможные агрессивные оптимизации по максимуму, т.к. нет гарантий, что оптимизация не нарушит каких-то инвариантов. Поэтому в теории (и иногда на практике) Rust может быть быстрее Си.

Надо будет почитать что за раст такой этот, он что реально лучше чем си в плане оптимизации скорости работы?
Тут голанг не успел появится, расты всякие понапридумывали, вот же молодёжь не усидчивая, раньше было лучше: С С++ C# Java и Python для скриптов автоматизации было за глаза. А потом устроится никуда не получается ибо надо знать или 100500+ языков, но посредственно ибо не обхватить все за такое время или 3-4 и искать полтора объявления.

Хотел написать, офигеть как время быстро летит, недавно ставил go 1.2 на комп для изучения, а тут уже больше 10 лет прошло. Пошел смотреть в вики и там

go 1 — 28 марта 2012 года — Первая официальная версия; зафиксированы библиотеки, внесены изменения в синтаксис.

Так что в следующем году юбилей

"Раньше" у Вас где-то в середине застряло, где-то после "похорон" Perl и до рождения Rust.

Так ведь пока еще не приняли PR с поддержкой Раста и эта эпопея может затянуться. Это же, блин, первый ЯП, кроме Си, на котором можно будет официально писать модули ядра.

Хм. Вангую боль и страдания пользователям генту, сидящем на старом железе, лет эдак через 5, когда без компилятора раста не получится собрать половину модулей ядра, а собрать раст не получится без 16+ Гб оперативки и 100500 ядер. Надеюсь, что будет вообще хоть какой-то способ собирать линукс без раста дальше. Пусть и не с полным клмплектом драйверов.

Не волнуйтесь вы так за нас, в генте есть бинарный дистрибутив раста :)

Есть dev-lang/rust-bin, прекомпилированный пакет с растом специально для таких, как Вы.

Собираю свои пет проекты на расте на нетбуке с intel atom n280 внутри. Не скажу, что это прям комфортно, но и особой боли не вызывает. Вот современные браузеры - вот они действительно вызывают боль)

Sign up to leave a comment.

Information

Website
www.vasexperts.ru
Registered
Founded
Employees
51–100 employees
Location
Россия