Tyn
Tyn — експериментальна спеціалізована операційна система для запуску віртуальної машини BEAM, що виконує програми мовами Erlang та Elixir, без використання ядра Linux. Ядро Tyn написане мовою Rust; система призначена передусім для запуску застосунків у віртуалізованих середовищах архітектури x86-64. Розробники характеризують її як унікернел (англ. unikernel) — спеціалізовану систему, що містить лише компоненти, необхідні для певного застосунку.[1]
Проєкт публічно представлено 26 квітня 2026 року на форумі спільноти Erlang. У першому описі автор повідомив про запуск Erlang/OTP 27, Elixir і мережевих з'єднань TCP у середовищі QEMU/KVM.[2] У травні того самого року учасник спільноти Erlang Торбйорн Тернквіст оприлюднив власні інструкції зі складання та запуску Tyn у QEMU/KVM.[3]
У червні 2026 року автор проєкту повідомив про запуск системи на хмарних віртуальних машинах Amazon EC2 з використанням мережевого адаптера ENA. Протягом наступних місяців було додано підтримку застосунків на Phoenix, JIT-компіляції, шифрованих з'єднань TLS та обмеженої взаємодії між вузлами розподіленого Erlang.[2][1]
Основою Tyn є невелике ядро на Rust, що забезпечує керування пам'яттю, перериваннями, пристроями та мережевим обміном. Поверх нього працює стандартне середовище виконання Erlang (ERTS), скомпільоване зі звичайного вихідного коду Erlang/OTP, без переписування віртуальної машини BEAM. Для сумісності з ERTS ядро реалізує підмножину системних викликів Linux, зокрема операції з пам'яттю, файлами, потоками та мережевими сокетами.[1]
Мережевий стек спирається на бібліотеку smoltcp і використовує драйвер virtio-net для QEMU/KVM або драйвер Elastic Network Adapter (ENA) для AWS Nitro. Файли Erlang/OTP і застосунків зберігаються у вбудованому архіві cpio, який доступний через віртуальну файлову систему лише для читання. У системі передбачена підтримка кількох процесорних ядер (SMP); ERTS працює у непривілейованому режимі процесора (ring 3), відокремленому від ядра (ring 0).[1]
Станом на жовтень 2026 року документація проєкту описує запуск Erlang/OTP 27 та Elixir 1.18.3, роботу JIT-компілятора BEAM, мережевих протоколів TCP і UDP, а також застосунків Phoenix із підтримкою LiveView. Розробник повідомляє про запуск таких застосунків на AWS Nitro. Підтримка розподіленого Erlang перевірялася для двох вузлів зі статично заданими відповідностями імен та адрес.[1]
Проєкт має низку обмежень: постійне зберігання даних на диску не підтримується, запис можливий лише до тимчасової файлової системи в оперативній пам'яті; мережевий стек працює з IPv4; автоматичне виявлення вузлів кластера відсутнє. Розробники також зазначають, що власні криптографічні компоненти та реалізація TLS не пройшли незалежного аудиту безпеки.[1]
- 1 2 3 4 5 6 Tyn: A minimal Rust microkernel purpose-built for the BEAM. GitHub (англ.). Процитовано 29 жовтня 2026.
- 1 2 Tyn — A Rust microkernel that runs BEAM on bare metal (no Linux). Erlang Forums (англ.). 26 квітня 2026. Процитовано 29 жовтня 2026.
- ↑ Torbjörn Törnkvist (20 травня 2026). Running Erlang, BEAM and Tyn kernel. GitHub Gist (англ.). Процитовано 29 жовтня 2026.
- Вихідний код і документація Tyn на GitHub