Как стать автором
Обновить

Комментарии 23

Вам нравится программировать на языке, созданном в 1970-е, он наполняет вас чувством глубокого удовлетворения, когда можно сделать буквально что угодно – и оно заработает?

Справедливости ради стоит заметить, что можно использовать язык, созданный в 2006-ом:

https://github.com/Rust-for-Linux/linux

https://github.com/fishinabarrel/linux-kernel-module-rust

Справедливости ради, не взирая на попытки rust-оманов таки пропихнуть это в ядро, версия v9 будет только в версии ядра 6.x, то есть:

  • на данный момент это публичная бета;

  • туториалов по этому (в отличие от написания модулей на С) нет;

  • время жизни этой поделки (просто rust-враппер, ещё одна абстракция над С) не известно (rust-for-linux-kernel ещё не родился, в отличии от С) (see: 1 , 2:

    Практическое применение эффекта Линди — оценка явлений с точки зрения их пригодности к применению в реальных условиях. То, что существует долго, доказывает свою «линдиустойчивость» и, следовательно, заслуживает доверия.

  • стоит ли начинать бизнес/долгосрочный-проект на rust-for-linux - вопрос открытый: кроме хайпа, на этом поприще ничего серьёзного не создано (имхо, скорее всего, к счастью);

на этом поприще ничего серьёзного не создано (имхо, скорее всего, к счастью)

А почему к счастью?

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

Поправил, спасибо!

«Дефиниция» модуля ядра это за гранью.

Статья хорошая, но про Hello World и каркас драйвера написано уже очень много туториалов. Обычно на этом все и останавливается. Если вам не трудно, напишите пожалуйста про работу с железом, обработку прерываний, управление памятью в пространстве ядра. Очень интересно все, что связано с низкоуровневым программированием под Linux, но информации в сети очень мало.

В этом может помочь чтение драйверов и подсистем в самом ядре. Многие из них и правда простые, ну и https://elixir.bootlin.com/linux/latest/source очень помогает в поиске и навигации.

Вместо KERN_* давно уже принято использовать pr_* или pr_*_ratelimited.

Да и стиль оформления кода нестандартный - хотя бы через checkpatch прогоните.

Приготовился слушать про кюбиты, Хаскель и лямбда ичисление. Не дождался. /sarcasm-off

По-моему, Linux для микроволновки - это оверкилл.

И для посудомоечной машины тоже.

Посмотрите любой низкоуровневый RTOS для МК.

Думаю измените свое мнение.

Не изменю. Было время когда в стиралках и посудомоечных машинах использовались механические командоаппараты. Может быть и сейчас используются — как-то я этим вопросом давно не интересовался. Так что нет там никакой необходимости в использовании операционной системы.

Необходимости то может быть и нет. Но цена механического цикломата намного, намного больше, чем цифрового.

В частности, за счёт материалоёмкости и универсальности последнего - достаточно изменить ПО для каждой модели.

Я не говорил про то, что использование механики дешевле. Я говорил, что необходимости в операционке нет. Естественно сейчас в посудомоечных машинах дешевле использовать микроконтроллер, но вот шить в него ось совершенно нерационально. С данной задачей прекрасно справится прошивка на пару килобайт кода безо всякой операционки.

Ну или встраиваемая rtos на крайняк. Чип, который может гонять rtos, всяко дешевле, чем тот, на который встанет Линукс.

Я в одной прошивке как-то поймал себя на том, что начинаю руками писать то, что в rtos уже есть. С очереди сообщений началось, продолжилось кооперативной многозадачностью.

С учётом того, как развивается IoT то уже нет.

Линукс идеальная система для встройки, работает практически на любом тостере.

И ещё один немаловажный аспект - бесплатная.

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

Я кстати считаю решение Линуса остаться на GPLv2 правильным.

Если бы ядро ушло на GPLv3 то про поддержку корпоративного сектора можно было бы забыть.

Делится своим кодом с другими - ок, win win.

Делится контролем за своими железками для многих неприемлемо.

Это моё личное мнение, оно может не совпадать с вашим и просьба не триггерится на это.

Я только с точки зрения стоимости. Чип, который сможет исполнять встраиваемую rtos, дешевле, чем linux-capable.

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

Кайф!

Спасибо.

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

Вот, к примеру, эта статья, судя по оригиналу, написана в январе 2021 года. А ядро, используемое автором на его компе, было, судя по всему, не самое свежее. В результате он приводит исходники, которые будут напрочь отказываться компилироваться на последних ядрах.

Я ни разу не преподаватель, поэтому не знаю, как правильно подавать подобный материал. Но в таком виде его полезность видится мне сомнительной.

Электронная начинка МКС, благодаря которой станция не падает на Землю смертельно опасным и разрушительным огненным болидом — конечно же, тоже работает под Linux.

Конечно же это не так. Линуксы стоят только на ноутах, ни один из которых к управлению полетом отношения не умеет.

Основные системы МКС работают под управлением wxWorks либо вообще без ОС.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий