Lunatik v3.6 — релиз среды исполнения Lua в пространстве ядра Linux

good-penguin.png

Lunatic — это фреймворк для написания сценариев для ядра Linux на Lua. Разрабатывается LabLua в рамках Lua in kernel с явными ссылками на опыт использования Lua в ядре NetBSD.

Основные компоненты

  • интерпретатор Lua, модифицированный для работы в ядре;
  • драйвера устройства (написаны на Lua);
  • средства командной строки для запуска сценариев и управления средами выполнения из пользовательского пространства;
  • C API для загрузки и запуска сценариев и управления средами выполнения из ядра;
  • Lua API для привязки средств ядра к Lua-скриптам.

Новые возможности

Группа разработчиков Lunatic выражает благодарность контрибуторам, благодаря которым стал возможен этот релиз: sav и marcelstanley из Ring-0 Networks, sheharyaar, jperon, vincentmli, rustedusted, glk0, ну и конечно же всем другим участникам, работающими над Lunatic.

Пример драйвера устройства для генерации простых «паролей»

-- /lib/modules/lua/passwd.lua
--
-- implements /dev/passwd for generate passwords
-- usage: $ sudo lunatik run passwd
--        $ head -c  /dev/passwd

local device = require("device")
local linux  = require("linux")

local function nop() end -- do nothing

local s = linux.stat
local driver = {name = "passwd", open = nop, release = nop, mode = s.IRUGO}

function driver:read() -- read(2) callback
	-- generate random ASCII printable characters
	return string.char(linux.random(32, 126))
end

-- creates a new character device
device.new(driver)

>>> Исходный код релиза

>>> Документация, исходный код и примеры проекта

>>> Сопутствующие проекты

>>> Анонс в оффициальной группе Lua

©  Linux.org.ru