LINUX.ORG.RU

Lua в ядре NetBSD

 ,


1

6

Согласно докладу Марка Балмера (Marc Balmer, разработчик NetBSD) на FOSDEM'13, прошедшего 2 и 3 февраля, в ядро NetBSD-current добавлен скриптовый язык lua. Работы в данном направлении ведутся уже, как минимум, с 2010-го года.

Использование языка lua в ядре позволяет ускорить разработку драйверов, изменения функционала ядра, а также его настройку. Более низкий порог вхождения по сравнению с языком C позволит в будущем упростить разработку и ускорить темпы развития проекта, а также увеличить интерес сообщества к проекту NetBSD и привлечь новых людей.

>>> Доклад

★★★★★

Проверено: mono ()
Последнее исправление: Binary (всего исправлений: 3)

Более низкий порог вхождения по сравнению с языком C позволит в будущем упростить разработку, ускорить темпы развития проекта, переплюнуть винду по тормознутости и монструозности.

Obvious fix.

gear ★★★
()
Последнее исправление: gear (всего исправлений: 1)
Ответ на: комментарий от Spoofing

Ну и где сейчас твой mirc в линуксе? Круче xchat, irssi ничего не придумали. Под той же виндой xchat намного юзабельней монстра mirc.

Надо суда скастовать автора leech-craft, пусть встроит к себе еще и ядро netbsd.

NetBSD R.I.P. :( А как хорошо развивались.

gh0stwizard ★★★★★
()
Ответ на: комментарий от tailgunner

Судя по настоящему времени («берутся»), можно считать доказанным, что сложность дебилов не останавливает.

Разумеется. Но с чем-то с небольшим порогом вхождения их популяция возрастет в разы.

Торвальдс? Это тот тролль, который когда-то писал Linux? Даже не представляю, почему меня может интересовать его мнение.

Ну, как минимум потому, что он явно знает поболее тебя.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от tailgunner

Ровно затем же, что и везде.

Меня интересуют конкретные абстракции, которые хреново выражаются на сях и нужные для драйверов. Моя фантазия здесь отказывает.

baverman ★★★
()
Ответ на: комментарий от AiFiLTr0

с чем-то с небольшим порогом вхождения их популяция возрастет в разы.

Совершенно не доказанный факт. Когда-то драйверы писались на асме, и с переходом на Си были только профиты.

он явно знает поболее тебя.

О Си++? Точно нет.

tailgunner ★★★★★
()

Докатились до скриптовых драйверов. Переписать ядро на PHP уже предлагали?

dm1024 ★★★
()
Ответ на: комментарий от Spoofing

спустя 6 лет ... httpd, ftpd, ircd, torrent tracker, «shoutcast», mysql client, ... видео-кодеки и много чего еще.

Почти поверил :) З.Ы. очень люблю elisp

proofit404
()
Ответ на: комментарий от baverman

Меня интересуют конкретные абстракции, которые хреново выражаются на сях и нужные для драйверов

Связный список подойдет? Карринг, паттерн матчинг, наследование, да что угодно. С точки зрения потребностей в выразительных средствах, драйвер - это обычная программа.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Язычок говно,

ну а какая достойная замена в этой же нише (скажем, легковесный язык расширений)? мне вспоминаются только tcl,js,недопиленный io

anonymous
()
Ответ на: комментарий от AiFiLTr0

Совершенно не доказанный факт. Подтвердишь экспериментом?

Просто ради смеха - приведи описание эксперимента.

tailgunner ★★★★★
()

Был как-то тут один некто Денис Поповтоварисч, который собирался операционку запилить на html, с защитой от грохинга и нескучными обоями. Не, ну html - это совсем хардкор, но дело этого товарища живёт: вон Убунта для мобильников будет использовать python в качестве основного языка программирования. Я боюсь дожить до момента, когда появятся модули ядра и/или драйвера на питоне или яваскрипте.

densss ★★★★★
()
Ответ на: комментарий от tailgunner

Когда-то драйверы писались на асме, и с переходом на Си были только профиты.

Си от Ассемблера по скорости/ресурсоемкости недалеко отстал, в отличие от.

dm1024 ★★★
()

Почему сразу не жабоскрипт?

Deleted
()

Встроить Lua в ядро - это интересная идея.

Мне доводилось заниматься в жизни обоими этими вещами - и писать драйвера, и писать на Lua. Причем на Lua писались не игры, а вся высокоуровневая логика некоего сетевого устройства. Получилось тогда весьма удачно. Компактный, мощный и читабельный язык. Не жалею, что писал на Lua, а не на C++, например.

Deleted
()
Ответ на: комментарий от dm1024

Си от Ассемблера по скорости/ресурсоемкости недалеко отстал, в отличие от.

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

tailgunner ★★★★★
()
Ответ на: комментарий от AiFiLTr0

Напиши ему в LKML/G+,

Так себе план эксперимента.

будь мужиком.

Ъ-мужики уже ничего не доказывают окружающим %)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Как-то сомнительно это всё, в свете существовании кучи gtk приложений, написанных на Си. Хотя, разработчикам драйверов виднее, что им нужно.

baverman ★★★
()

Вот это да, вот это глобально и надежно. Поттеринг со своими QR-кодами рычит от зависти.

Manhunt ★★★★★
()
Ответ на: комментарий от proofit404

Не все успел отправить в паблик, прежде чем mIRC стал не нужен, но к примеру httpd, mysql клиент но сломался когда MySQL сменили способ авторизации и было лень разбираться в новом алгоритме. а про кодеки - ковырял бинарные файлы, чтобы выдергивать инфу из заголовков, для этого скрипта.

Я изучал протоколы и многому научился лишь благодаря мирку, писав собственные реализации чего-нибудь на этом же самом мирке. конечно наступил момент, когда возможностей mirc стало не хватать, и в нем много времени уходило на разработку чего-то (относительно) низкоуровненого, типа нормального http клиента. но теперь пришел linux, я сменил mirc на bash, и всякие скриптики пишу в одну строку, а тот же http клиент, который в мирке был на сотню строчек кода - заменяет одна команда curl'а :--)

Spoofing ★★★★★
()
Ответ на: комментарий от Manhunt

Поттеринг со своими QR-кодами рычит от зависти.

Он просто не может выбрать какой язычог встроить. Наверняка мечется между js и bash.

baverman ★★★
()
Ответ на: комментарий от baverman

Как-то сомнительно это всё,

Ну, мне это не сомнительно ни разу.

в свете существовании кучи gtk приложений, написанных на Си

Это материал для психологов.

Хотя, разработчикам драйверов виднее, что им нужно.

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

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)

Отчаянный шаг. Не взлетит.

aidaho ★★★★★
()

если уж вносить (что кстати логично) язык в ядро ОС, то уж точно не так как это делается в прикладах и точно не Lua :).

Концептуально а-ля Vala - язык транслируемый в С и компилируемый вместе с ядром, или (а скорее И) семейка форта. Не скажу за BSD, но Linux ядро можно представить и реализовать отдельным языком - оно достаточно толстое, хотя сущностей в принципе немного, механизмы ясны.

MKuznetsov ★★★★★
()
Ответ на: комментарий от puding

Ускорение разработки драйверов в 6 раз на лицо.

Тут ещё не учитывается цикл разработки. На Си придётся компилить/линковать/переносить :D

KRoN73 ★★★★★
()
Ответ на: комментарий от aptyp

Т.е. в те времена в ассемблер не так хорошо переводился? Нифига себе.

А ты думал, что 40 лет развития технологий трансляции прошли впустую? Нифига себе.

tailgunner ★★★★★
()

А чего не GWbasic?

vada ★★★★★
()
Ответ на: комментарий от AiFiLTr0

Потому что его проще всего встроить туда, без секса с кучей зависимостей

Можно подумать, у iolanguage какие-то проблемы с зависимостями. Или у guile.

geekless ★★
()
Ответ на: комментарий от geekless

iolanguage и guile не щупал, так что судить не могу.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от aptyp

Т.е. в те времена в ассемблер не так хорошо переводился?

Си++ стал генерировать код, по производительности сравнимый с кодом среднего программиста на ассемблере где-то во времена Watcom 10 и MSVC4. Тогда я и бросил программирование на чистом ассемблере (хотя вставки в критических местах ещё какое-то время практиковал). Можно было ещё выиграть от программирования на асме по сравнению с Си, но чтобы обойти Си на практических задачах нужно было так корячиться, что проигрыш по времени разработки составлял уже даже не порядок, а, считай, два порядка :) Выигрыш по скорости при этом был не принципиальный.

KRoN73 ★★★★★
()
Ответ на: комментарий от gh0stwizard

Надо суда скастовать автора leech-craft, пусть встроит к себе еще и ядро netbsd.

И wine, wine пусть встроит. :-D

geekless ★★
()
Ответ на: комментарий от densss

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

Зря боитесь. Обязательно доживём. Так что советую морально подготовиться.

geekless ★★
()

Познания в ОС-естроении у меня весьма поверхностные, поэтому спрошу - писать части системы на скриптах - это разве не удар по производительности операционной системы?

linuxhater
()

Lua проще чем C?

exst ★★★★
()
Ответ на: комментарий от linuxhater

писать части системы на скриптах - это разве не удар по производительности операционной системы?

Во-первых, в Lua всё-таки JIT.

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

dmfd
()
Ответ на: комментарий от tailgunner

Да C и не такой уж и сложный язык просто. Окей, не знал.
Надо будет свой компилер замутить. чтобы понять, насколько крут gcc.

aptyp ★★★★
()
Ответ на: комментарий от dmfd

Ну и как клей между сишными функциями медленные языки можно использовать, само собой. Только для сабжа это вряд ли актуально.

dmfd
()
Ответ на: комментарий от anonymous

надо в linux встроить QML

В линкус нужно пихнуть JavaScript а всю графику включая консоль выводить через HTML5.

vasya_pupkin ★★★★★
()
Ответ на: комментарий от aptyp

Да C и не такой уж и сложный язык просто

На сегодняшний день - да. А тогда он был полноценным ЯВУ, и его нормальный компилятор не помещался в память средней машины (отчасти из этого и тянется никакая проверка типов в ранних компиляторах).

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.