Проект Nebulet (https://github.com/nebulet/nebulet) развивает микроядро, способное выполнять модули на WebAssembly, разработанном для браузеров универсальном низкоуровневом промежуточном коде, который может быть скомпилирован из различных языков программирования. Более того, Nebulet выполняет модули WebAssembly с правами нулевого кольца защиты процессора (ring 0 (https://ru.wikipedia.org/wiki/%D0%9A%D0%... в одном адресном пространстве с ядром, вместо традиционного для непривилегированного кода третьего кольца. Проект написан на языке Rust и поставляется (https://github.com/nebulet/nebulet) под лицензией MIT.Проект пока находится на начальной стадии разработки, но отмечается, что когда применяемый для сборки WebAssembly компилятор Cretonne (https://github.com/cretonne/cretonne) (также написан на Rust) достигнет зрелости, выполняемые при помощи Nebulet модули на WebAssembly смогут даже обогнать по производительности традиционные приложения для Linux за счёт снижения накладных расходов на осуществление системных вызовов и переключения контекста, а также благодаря экзотическим оптимизациям, которые невозможно реализовать в обычных операционных системах.
URL: https://news.ycombinator.com/item?id=17187384
Новость: https://www.opennet.me/opennews/art.shtml?num=48688
то есть разработчики процессоров думали-думали над разными уровнями защиты......а потом парочка энтузиастов вдруг догадалась что если послать в Ж все эти уровни защиты -- и самому "вкомпилировать" защиту во время запуска программы -- то выйдет и надёжнее и быстрее?
оригинально!
разумеется идея именно с WebAssembly -- смехотворна -- именно для этой цели.
но мысль правильная! секурные фишки процессора просто не выдерживают ни какого доверия
Угу, как Java :)
Они разве не ядро хотят на яваскрипте писать?
Эта идея совсем не новая и давно исследовалась. Если _все приложения_ представлены в управляемом коде, уровни защиты и переключение контекста не нужны и производительность может быть выше. Главная проблема в наследии: для внедрения такого подхода придется переписать ОС и многие программы. Но теперь, когда Веб становится доминирующей платформой для приложений, мы к этому придем. Появятся и процессоры, оптимизированные для выполнения WebAssembly и без привычных механизмов защиты.
> выполняет модули WebAssembly с правами нулевого кольца защиты процессора (ring 0)При поддержке Kaspersky Lab(tm) и других, тсзть, сапрофитов.
Right now, Nebulet isn't ready to do anythingЭтим всё и сказано.
Ты чего?!> когда применяемый для сборки WebAssembly компилятор Cretonne (также написан на Rust) достигнет зрелости, выполняемые при помощи Nebulet модули на WebAssembly смогут даже обогнать по производительности традиционные приложения для Linux
Надо верить парням!
s/Nebulet/Nebudet/
А чего не на Go решили писать?
Мне кажется он больше подойдет для такой гениальной идеи
Думаю ответом тут будет жирный рантайм и отсутствие какого-либо удобства разработки БЕЗ уже имеющегося менеджера ресурсов (библиотечно библиотечного или ядерного) в го.
>> Проект написан на языке Rust...А как же С++, умные и красивые указатели, ООП, куча разных библиотек на любой вкус? Учил, учил плюсы много-много лет, а тут какой-то выскочка rust намеревается пролезть туда, куда его не просят. Так можно и без работы скоро остаться. Что делать, как быть? Rust уничтожит с++ или можно пока кодить лет 10 и не о чём не думать?
Вы хоть раз видели чтобы какой-то язык программирования "уничтожил" какой-то другой? Если вы осилили C++ и имеете на нём какой-то вменяемый опыт, то работа вам обеспечена ещё на очень много лет. Единственный смысл переквалифицироваться на Rust - это если вам интересно что-то новое и/или хочется на старости лет выдохнуть, перестать решать головоломки и начать спокойно писать код, который не течёт.
Никуда C++ не денется. Можно спокойно на нем зарабатывать (пуская слюни на прекрасный раст, либо в блаженном неведении)
Проследуй за кобольщиками и лисперами, через 10 лет цпп будет невостребован, как сейчас невостребован перл в сфере веба. А всему виной черезжопность, мозголомность, и тысячи способов выстрелить себе в ногу в цпп.Запомните этот твит (с).
> как сейчас невостребован перл в сфере веба:D
Но perl ещё барахтается.
10 лет назад писали тоже самое
> Проследуй за кобольщиками и лисперами, через 10 лет цпп будет невостребован, как
> сейчас невостребован перл в сфере веба. А всему виной черезжопность, мозголомность,
> и тысячи способов выстрелить себе в ногу в цпп.
> Запомните этот твит (с).Цы плас плас хоронят с момента его создания :)))
Java и С# были созданы для его замены - и сейчас на одну .NET вакансию несколько вакансий С++ Qt или C++ UE4.
зачем кодить если можно совсем не о чём не думать
Больше смахивает на сертифицированный троян.
... с бекдором и плагинами))
затем придут эксперты которые свои кольца добавят в браузер и будет у нас ОС на ОС. а учитывая как популярен электрон так не долго осталось ждать ОС в ОС в ОС.. а, объясните, зачем?
Незачем, не жди.
Скорее всего, это не для браузера. Они это код на wa хотят в ядро грузить. Что-нибудь типа инструкций для пакетного фильтра. Нынче модно
Очень забавляют чуваки которые создав что то новое проводят тест hello world и еотом трубят что он быстрее. Пусть напишут хотя бы sqlite на web assembly и сравнят с обычным там все и выясниться быстрее или как..
Ну, учитывая, что WA не умеет ни в какой ввод-вывод, даже клавиатуру, что уж говорить про файлы. То БД работающая исключительно с массивами памяти в ring0, ту что работает с файлами в пространстве пользователя сделает как стоячую. Хотя все в руках программиста, умеючи то как раз долго. :)
> которые создав что то новое проводят тест hello worldНе, тут другая история! Тут всё гораздо хуже. Как заметили выше:
> Right now, Nebulet isn't ready to do anything
lol, так сказать
А Электрон в ring 0 будет?
Nebudet
Сурово. Еще бы не забыли ключик, чтобы намертво подобные "движки" отключать в браузерах (куда они пролезут), в ПО (ставишь что-то "профессиональное", ту же 1с, а там - оп! - а оно на JS напилено и в нулевом ring-е выполняется, со словами "вам же работать, а не шашечки, так запускайте от рута!"), в ОС (однажды).А вся защита софтовая в принципе, т.е. ее можно и обойти, и просто подменять на свой модуль.
Это не js совершенно,-но в общем и целом - смешной идиотизм, как раз для растоводов
>> смешной идиотизм, как раз для растоводовRust основан на вере, что "защищенный язык защищенного программирования защитит" прогера от собственных глупостей.
Rust основан на вере, что язык системного программирования должен иметь и абузить по полной продвинутую систему типов.
>Более того, Nebulet выполняет модули WebAssembly с правами нулевого кольца защиты процессора (ring 0) в одном адресном пространстве с ядром, вместо традиционного для непривилегированного кода третьего кольца.WebDOS с вебвирусами.
с ходу могу вспомнить похожий проект на дотнете - Singularity (а википедия подсказывает ещё с десяток похожих проектов)
сама идея хорошая, но практической пользы мало, т.к. не получит распространения. вот если бы такие системы были лет двадцать-тридцать назад, может быть они бы и получили распространение...а сейчас оно уже почти никому не интересно
> вот если бы такие системы были лет двадцать-тридцать назад, может быть они бы и получили распространениеОни были. Та же UCSD p-System существует уже лет 40. Системы семейства Оберон - 30 лет.
Тут нужен агрессивный форс и/или очень много портретов американских президентов. Само собой редко что идёт в массы.
"..проект Nebulet развивает микроядро.."."..экзотическим оптимизациям, которые невозможно реализовать в обычных операционных системах..". Операционных системах.
Что оно такое.
А потом в железе.
Микроядро на Rust для WA? Нещитово, надо сразу ядро на JS и CSS.