2019-12-03

waqur: (Default)
После того, как стандарт wasm доказал свою эффективность в роли быстрой и безопасной виртуальной машины для исполнения потенциально недоверенного кода в браузерах, возникла идея портировать среду исполнения wasm в ядро Linux:

https://medium.com/wasmer/running-webassembly-on-the-kernel-8e04761f1d8e

https://github.com/wasmerio/kernel-wasm

Зачем? Автор отмечает, что благодаря быстрой JIT-компиляции на основе LLVM и благодаря экономии на переключении контекста userspace/kernelspace есть прирост производительности, например для http-сервера. Как по мне, для целей подобной экономии лучше годится F-Stack, а вот чем kernel-wasm действительно интересен — так это потенциальной возможностью запускать out-of-tree драйверы для Linux, работающие поверх стабильного ядерного API (интерфейса между wasm-программами и ядром). Вряд-ли мы когда-нибудь дождёмся стабилизации сишного ядерного API в Линуксе (скорее по идеологическим, чем по техническим причинам), а так, благодаря kernel-wasm, хоть какой-то метод написания стабильных closed source драйверов для Линукса мог бы быть.

Как я уже ранее отмечал, невозможность написания стабильных out-of-tree closed-source драйверов — сейчас главная проблема, которая сдерживает экспансию Linux. Не все hardware-вендоры являются религиозными GPL-фанатиками наподобие Ричарда Столлмэна, кое-кто из них ещё и деньги попутно зарабатывать пытается, поэтому покуда их интересами пренебрегают, они будут смотреть на Linux сквозь пальцы. В Линуксе же есть стандарт для API в userspace (POSIX, Single UNIX Specification), теперь ему нужен подобный стандарт для API в kernelspace, по-моему всё просто.

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

На этой странице

Автор стиля

Развернуть

No cut tags
Page generated 2025-06-17 01:30 pm
Powered by Dreamwidth Studios