Представлен публике язык программирования для разработки eBPF-программ

2 мин
Представлен публике язык программирования для разработки eBPF-программ

Представлен язык программирования KernelScript 0.1. Он представляет собой экспериментальный типобезопасный DSL для написания кода eBPF, пользовательского пространства и пространства ядра из одной кодовой базы.

KernelScript 0.1 теперь доступен в качестве первого публичного релиза нового языка программирования с открытым исходным кодом для разработки ядра Linux, ориентированного на eBPF, опубликованного под лицензией Apache 2.0. Вместо того чтобы вручную писать программы eBPF на C, загрузчики пользовательского пространства и модули ядра, KernelScript генерирует нужный код на C, программы пользовательского пространства, Make-файлы и интеграцию модулей ядра из одного исходного файла.

Он предназначен для разработчиков, работающих с eBPF. Это технология ядра Linux, которая позволяет небольшим проверенным программам функционировать в контексте ядра без его модификации. Хотя eBPF широко используется для работы с сетями, трассировки, мониторинга, безопасности и анализа производительности, его разработка обычно требует глубоких знаний ограничений верификатора, вспомогательных функций BPF, карт, загрузки программ и координации пользовательского пространства на основе libbpf.

KernelScript решает эту проблему с помощью высокоуровневого синтаксиса, адаптированного для рабочих процессов eBPF. Он поддерживает основные типы программ eBPF, в том числе XDP для обработки пакетов, TC для управления трафиком, зонды для трассировки функций ядра и программы событий perf для счётчиков производительности.

Кроме того, KernelScript обеспечивает встроенную поддержку карт eBPF, в том числе хэш-карты, массивы для каждого ЦП, карты LRU и закреплённые карты. Эти переменные доступны на уровне языка, что даёт возможность программам eBPF и коду пользовательского пространства совместно применять состояние без необходимости ручного создания шаблонного кода libbpf. KernelScript равным образом поддерживает расширенные возможности eBPF, в том числе автоматическую оркестровку хвостовых вызовов, прозрачную обработку dynptr, проверки жизненного цикла программы, поддержку struct_ops и встроенную интеграцию с kfunc.

Тем не менее этот релиз является экспериментальным. В репозитории KernelScript помечен как бета-версия программного обеспечения, и предупреждается, что синтаксис, api и функции могут изменяться без обратной совместимости. Сейчас разработчики не рекомендуют применять его в производственной среде.

Читают сейчас

Власти сократили 47 тыс. платных мест в вузах в 2026 году

14 минут назад

Власти сократили 47 тыс. платных мест в вузах в 2026 году

В 2025 году правительство получило право регулировать не только бюджетный, но и платный набор в российские вузы. Для этого Госдума приняла поправки в федеральное законодательство, а Минобрнауки разраб

Ограниченная схема Claude Mythos от Anthropic может появиться в Claude Code

18 минут назад

Ограниченная схема Claude Mythos от Anthropic может появиться в Claude Code

Anthropic может готовиться к публичному запуску ограниченной модели Mythos в Claude Code, пишет BleepingComputer. Ссылки на модель заметили в публичных версиях Claude Code и Claude Security. Читать да

Энтузиаст обошёл аутентификацию AWS api Gateway через завершающий слеш

24 минуты назад

Энтузиаст обошёл аутентификацию AWS api Gateway через завершающий слеш

Энтузиаст рассказал, как он обошёл аутентификацию AWS api Gateway, добавив trailing slash (завершающий слеш, косую черту в конце URL-адреса) в конце. За это он получил вознаграждение в размере $12 000

Sennheiser представила полноразмерные беспроводные гарнитура Momentum 5 Wireless

44 минуты назад

Sennheiser представила полноразмерные беспроводные гарнитура Momentum 5 Wireless

Компания Sennheiser начала продавать полноразмерные беспроводные наушники Momentum 5 Wireless. Они получили активное шумоподавление и модульную конструкцию элемента питания, которая даёт возможность с

«Больше никто не читает книги по программированию»: авторы выбирают для обучения чат-ботов и другие источники

58 минут назад

«Больше никто не читает книги по программированию»: авторы выбирают для обучения чат-ботов и другие источники

Автор блога unix.foo поделился взглядом на сегмент образовательных книг по программированию. За последние несколько лет они стали доступнее, но одновременно с этим появились чат-боты на базе LLM. Ново