LINUX.ORG.RU

В ядро NetBSD добавлена поддержка расширений на языке Lua

 ,


1

6

В состав ядра экспериментальной ветки NetBSD включена подсистема, добавляющая в ядро поддержку Lua. Разработка подсистемы под кодовым названием Lunatik была начата в 2010 году. Поддержка Lua в ядре позволит разрабатывать динамически загружаемые расширения, изменяющие поведение существующих систем или добавляющие новые возможности.

Lua-расширения применяются при необходимости быстрого создания готового модуля без серьёзных требований к производительности. В качестве примеров использования Lua в ядре разработчики указывают:

  • Планировщик процессов - позволяет пользователю задать свои собственные алгоритмы для управления выполняемыми задачами и для создания различных политик планирования для независимых наборов процессов или потоков.
  • Фильтр пакетов - позволяет создавать более гибкие правила для фильтрации сетевого трафика.
  • Управление питанием - позволяет пользователю задать свои методы управления энергопотреблением. Например, пользователь может определить собственный алгоритм для масштабирования частоты CPU и напряжения на нём для экономии электроэнергии или предотвращения перегрева.

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

>>> Подробности

★★★★

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

Планировщик процессов
Фильтр пакетов
без серьёзных требований к производительности

Да вы что!

GAMer ★★★★★
()

Но зачем? Линукс и так уже быстрее, в несколько раз в некоторых случаях.

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

Никому не нужна эфемерная «производительность». Вот удобство, соответствие современным требованиям индустрии и производительность труда — это важные показатели. А более мощный процессор всегда можно купить — вон, на каждом прилавке i7 8ггц, 64ядра лежат, лол.

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

Там был анонс. Коммиты от 16 числа сего месяца.

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

Дорогой анонимный друк, видишь ли, не всегда хватает i7 Over 9000 GHz, потому, например, такие конторки как Tilera и городят свои железяки с дохрена-ядрами, куча-линками и 100500 pps.
Ну а планировщик, который вызывается, мягко говоря, ну очень часто, на мой взгляд, чуть ли не хрестоматийный пример, где нужна именно максимальная производительность и минимальные задержки.

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

NetBSD должен работать на любом тостере, ты об этом забываешь

dvrts ★★★
()

Скрипты в kernelspace? Быдлокодеры получают выход на принципиально новый уровень :) Прикольно. А в линуксе такое есть?

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

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

mkam
()

Круто. Теперь Lua-программисты смогут добавить в свое резюме что-то вроде «участвовал в разработке низкоуровневых компонентов операционной системы»

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

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

alt-x ★★★★★
()

круто, теперь можно будет играться со своим тостером!

reprimand ★★★★★
()

без серьёзных требований к производительности.

Планировщик процессов

Они там упоролись.

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

Потому что «работать», а не «факториалы считать».

crowbar
()

На самом деле круто. Давно все к этому идет. У меня есть модуль, который умеет исполнять схему в ядре линукса :) Сама писала, когда студентом была.

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

Скрипты в kernelspace? Быдлокодеры получают выход на принципиально новый уровень :) Прикольно. А в линуксе такое есть?

А чем это принципиально отличается от fuse?

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

Протестую. fuse работает в userspace ( собственно, и название - Filesystem in User SpacE ), а БСДшники добавили поддержку скриптов в kernelspace. Сходи по ссылке

router ★★★★★
()

Кроме шуток, на этапе ПЛИС прототипирования удобно.

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

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

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

когда студентом была.

катой на моем ЛОРе? no way!

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

Протестую. fuse работает в userspace ( собственно, и название - Filesystem in User SpacE ), а БСДшники добавили поддержку скриптов в kernelspace.

Разные цели, разные реализации. Суть одна - в ядро добавлется не сам код, а вспомогательное средство для исполнения подгружаемого кода.

А вообще поддержка lua в ядре вроде давно уже сделана - см lunatik

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

Суть принципиально разная. kernel space и user space нельзя смешивать.

router ★★★★★
()

ИМХО, эти фичи как раз наиболее чувствительны к производительности.

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

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

anonymous
()

Жду-не дождусь того времени, когда ядро ОС будут разрабатывать на управляемом языке.

zenden
()

Они бы ещё поддержку Mono туда добавили. Извращенцы.

xl743
()

Один вопрос - зачем чисто ради «позволит разрабатывать динамически загружаемые расширения» жертвовать производительностью, неужели так сложно собрать один модуль, погрузить его в ядро и забыть о нем, зачем придумывать такие дикие фитчи ? Вон Linux как-то же 22 года живет без скриптовых языков в ядре и всё отлично работает..

Sharezil
()
Ответ на: комментарий от alt-x

Я не говорил, что это плохо. Наоборот, это круто. Это ласточка, показывающая, что мощность современных компьютеров так велика, что теперь даже некоторые части ядра можно писать на высокоуровневых скриптовых языках а-ля Lua. Мне кажется, что это хорошо.

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

жертвовать производительностью

Хорошо написанный Lua работает практически со скоростью С, так что жертвы незначительны по сравнению с удобством

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

Что-ж, раз на то пошло, как скоро добавят туда C#, или JS

Зачем тащить в ядро какие-то монструозные поделия?

annulen ★★★★★
()

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

Пользователю никогда не надо лезть в управление энергопотреблением. Ох уж эта философия никс. «Допилено напильником».

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

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

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