Warning: mkdir(): No space left on device in /var/www/group-telegram/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/tech_b0lt_Genona/--): Failed to open stream: No such file or directory in /var/www/group-telegram/post.php on line 50
Технологический Болт Генона | Telegram Webview: tech_b0lt_Genona/5837 -
Telegram Group & Telegram Channel
В списке рассылки разработчиков ядра Linux опубликованы патчи с реализацией архитектуры "Wasm" для ядра Linux, позволяющей компилировать ядро в промежуточный код WebAssembly для последующего прямого выполнения в web-браузере без задействования эмуляторов. Кроме того, для ядра Linux проектом реализована возможность запускать исполняемые файлы в формате ".wasm" и подготовлен драйвер "web console" для симуляции работы с консолью в браузере. Также подготовлен инструментарий для упрощения сборки запускаемых в браузере системных окружений.

В качестве примера сформировано окружение на базе скомпилированных в WebAssembly набора утилит BusyBox и системной библиотеки musl. В качестве эмулятора терминала для работы с подобным окружением задействован Xterm.js.

Проект развивается уже около двух лет и на текущем этапе позволяет загружать ядро в браузерах и выполнять типовые программы. Работа ещё не завершена и порт имеет отдельные проблемы и ограничения. Например, ещё не реализована поддержка вызовов vfork и longjmp (к BusyBox применены патчи для работы без них), отсутствует возможность прерывания задач, недоступен MMU (ядро и процессы работают в одном адресном пространстве), невозможно изменение уже загруженного кода, наблюдается зависание консоли примерно через 5 минут из-за проблем с таймером. Отмечается, что имеющиеся ограничения преодолимы, но для некоторых из них требуется реализация в браузерах дополнительных расширений к WebAssembly. Подобные расширения предложено реализовать для MMU и приостановки потоков.

Невозможность приостановки выполнения потоков в WebAssembly не сочетается с работой планировщика задач в ядре, но многозадачность удалось реализовать обходным путём, через привязку каждого потока/задачи к своему виртуальному CPU, обрабатываемому в отдельном Web Worker. Таким способом удалось добиться параллельного выполнения процессов за счёт браузерного движка и ядра хостовой ОС без использования вытесняющей многозадачности и переключения задач в запускаемом в браузере ядре. Прерывания и сигналы при такой схеме полноценно не работают, а для доставки прерываний таймера и IPI (Inter-Processor Interrupt) задействован отдельный виртуальный CPU.

Область применения проекта выходит за рамки простого запуска Linux-окружений в браузерах. Например, порт может применяться для создания многоплатформенных WebAssembly программ, использующих специфичные для Linux системные вызовы. Реализация подобных системных вызовов может быть отдельно преобразована в WebAssembly и прикреплена к приложению, что позволит использовать его без привязки к системному ядру. Порт также будет полезен для организации изолированного выполнения приложений при помощи WASI (WebAssembly System Interface).


Представлен порт ядра Linux для WebAssembly, запускаемый в браузере
https://www.opennet.ru/opennews/art.shtml?num=64163

Оригинал
https://lore.kernel.org/lkml/618f3602-03aa-46a8-b2d4-3c9798c4cd2b@icemanor.se/

Сайт с демо - https://joelseverin.github.io/linux-wasm/
🔥28💊15🤪93🌚3👎2



group-telegram.com/tech_b0lt_Genona/5837
Create:
Last Update:

В списке рассылки разработчиков ядра Linux опубликованы патчи с реализацией архитектуры "Wasm" для ядра Linux, позволяющей компилировать ядро в промежуточный код WebAssembly для последующего прямого выполнения в web-браузере без задействования эмуляторов. Кроме того, для ядра Linux проектом реализована возможность запускать исполняемые файлы в формате ".wasm" и подготовлен драйвер "web console" для симуляции работы с консолью в браузере. Также подготовлен инструментарий для упрощения сборки запускаемых в браузере системных окружений.

В качестве примера сформировано окружение на базе скомпилированных в WebAssembly набора утилит BusyBox и системной библиотеки musl. В качестве эмулятора терминала для работы с подобным окружением задействован Xterm.js.

Проект развивается уже около двух лет и на текущем этапе позволяет загружать ядро в браузерах и выполнять типовые программы. Работа ещё не завершена и порт имеет отдельные проблемы и ограничения. Например, ещё не реализована поддержка вызовов vfork и longjmp (к BusyBox применены патчи для работы без них), отсутствует возможность прерывания задач, недоступен MMU (ядро и процессы работают в одном адресном пространстве), невозможно изменение уже загруженного кода, наблюдается зависание консоли примерно через 5 минут из-за проблем с таймером. Отмечается, что имеющиеся ограничения преодолимы, но для некоторых из них требуется реализация в браузерах дополнительных расширений к WebAssembly. Подобные расширения предложено реализовать для MMU и приостановки потоков.

Невозможность приостановки выполнения потоков в WebAssembly не сочетается с работой планировщика задач в ядре, но многозадачность удалось реализовать обходным путём, через привязку каждого потока/задачи к своему виртуальному CPU, обрабатываемому в отдельном Web Worker. Таким способом удалось добиться параллельного выполнения процессов за счёт браузерного движка и ядра хостовой ОС без использования вытесняющей многозадачности и переключения задач в запускаемом в браузере ядре. Прерывания и сигналы при такой схеме полноценно не работают, а для доставки прерываний таймера и IPI (Inter-Processor Interrupt) задействован отдельный виртуальный CPU.

Область применения проекта выходит за рамки простого запуска Linux-окружений в браузерах. Например, порт может применяться для создания многоплатформенных WebAssembly программ, использующих специфичные для Linux системные вызовы. Реализация подобных системных вызовов может быть отдельно преобразована в WebAssembly и прикреплена к приложению, что позволит использовать его без привязки к системному ядру. Порт также будет полезен для организации изолированного выполнения приложений при помощи WASI (WebAssembly System Interface).


Представлен порт ядра Linux для WebAssembly, запускаемый в браузере
https://www.opennet.ru/opennews/art.shtml?num=64163

Оригинал
https://lore.kernel.org/lkml/618f3602-03aa-46a8-b2d4-3c9798c4cd2b@icemanor.se/

Сайт с демо - https://joelseverin.github.io/linux-wasm/

BY Технологический Болт Генона




Share with your friend now:
group-telegram.com/tech_b0lt_Genona/5837

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

"And that set off kind of a battle royale for control of the platform that Durov eventually lost," said Nathalie Maréchal of the Washington advocacy group Ranking Digital Rights. "Someone posing as a Ukrainian citizen just joins the chat and starts spreading misinformation, or gathers data, like the location of shelters," Tsekhanovska said, noting how false messages have urged Ukrainians to turn off their phones at a specific time of night, citing cybersafety. Andrey, a Russian entrepreneur living in Brazil who, fearing retaliation, asked that NPR not use his last name, said Telegram has become one of the few places Russians can access independent news about the war. Russians and Ukrainians are both prolific users of Telegram. They rely on the app for channels that act as newsfeeds, group chats (both public and private), and one-to-one communication. Since the Russian invasion of Ukraine, Telegram has remained an important lifeline for both Russians and Ukrainians, as a way of staying aware of the latest news and keeping in touch with loved ones. The SC urges the public to refer to the SC’s I nvestor Alert List before investing. The list contains details of unauthorised websites, investment products, companies and individuals. Members of the public who suspect that they have been approached by unauthorised firms or individuals offering schemes that promise unrealistic returns
from us


Telegram Технологический Болт Генона
FROM American