Comments 6
Это очень круто.
Мне кажется, как раз режим
QEMU может эмулировать не только компьютер целиком, но и процессор для отдельного пользовательского процесса в хостовом ядре

и будет наиболее полезным для WebAssembly режима. Мне сложно вообразить необходимость запуска полноценной ОСи из браузера =) А вот отдельное приложение — может кому и пригодится.

Возможно. К счастью, TCG более-менее общий и там, и там. Правда, 64-битные гостевые системы у меня пока не поддерживаются.


С другой стороны, если от приложения есть исходники, то возможно, его проще будет пересобрать Emscripten-ом нативно. Да и как его в браузер запихивать, со всеми-то зависимостями… В общем, тут с ходу не скажешь. С ОС такого не получится. Хотя, если в дополнение к слою syscalls дописать в Emscripten слой hypercalls и тривиальное паравиртуализованное оборудование… :)

Ну, когда-то у меня вообще возникло ощущение, что "хренак-хренак и в продакшн" + автотесты => GitHub Flow.

Не хватает пары слов о том, собственно, зачем все это. Мне как незнакомому с QEMU непонятно.

«Говорю же, чисто поржать» А если серьёзно — то изначально это было "на слабо" — написать JIT, который будет переделывать машинный код в JS (а QEMU в силу наличия режима не-аппаратной виртуализации для этого чудесно подходил). Ну а потом уже какие-то use case-ы начали вырисовываться.


Это виртуальная машина, работающая в браузере. Потенциально, более быстрая, чем аналоги, и уж вряд ли кто с нуля напишет для такого количества гостевых архитектур. В ней можно, например, демонстрировать однодискетные ОС прямо на сайте. Или прошивки для встраиваемых устройств.

Only those users with full accounts are able to leave comments. Log in, please.