Comments 43
Крутота неимоверная. А если сеть прикрутят, то будет просто пушка.
Сеть не получится прикрутить по техническим причинам. Из JavaScript'а только по HTTP можно стучать, уровнем ниже не спуститься. И только в рамках текущего домена.
а WebRTC?
Webrtc, разумеется, не дает открывать полноценные сокеты, но, тем не менее, технологию таки можно было бы применить. Например, как я описал тут: habrahabr.ru/post/198192/#comment_6873444
Безусловно. Непонятно только, какое реальное практическое применение может быть у такого рода продукта.
Понастольгировать
Пока никакой, но со временем можно получить более сносный эмулятор виртуальной машины в браузере. Как минимум это позволило бы перенести некоторый софт в веб. Например, те же инструменты разработчика: редакторы кода разные(вимы, эклипсы), локальный веб сервер для разработки, и многое другое.
Проблему производительности можно заметно улучшить путем перехода на asm.js. Работу с сетью — через удаленный прокси, например.
Проблему производительности можно заметно улучшить путем перехода на asm.js. Работу с сетью — через удаленный прокси, например.
Но есть и более интересные применения. К примеру, можно организовать альтернативный клиент-серверный веб тому, что есть сейчас. Соединять пользователей не через http с реальными серверами, а через webrtc: браузер к браузеру. И веб сервера разворачивать с помощью таких вот виртуальных машин, запущенных опять же в браузерах.
Более того, такую сеть можно было бы организовать на более-менее анонимной основе. Нечто наподобее tor/i2p.
Конечно, на первый взгляд, делать такие вещи через браузерный js — это костыли. Но они, на мой взгляд, стоят того. Ведь уровень вхождения в такую сеть чрезвычайно низок: открываешь браузер, и все.
Более того, такую сеть можно было бы организовать на более-менее анонимной основе. Нечто наподобее tor/i2p.
Конечно, на первый взгляд, делать такие вещи через браузерный js — это костыли. Но они, на мой взгляд, стоят того. Ведь уровень вхождения в такую сеть чрезвычайно низок: открываешь браузер, и все.
А что, все довольно честно и культурно.
Загрузил фридос, набил oldjoke.asm:
org 100h
start:
cli
jmp start
собрал присутствующим nasm'ом, запустил — виртуалка висит, на CAD не реагирует :)
Загрузил фридос, набил oldjoke.asm:
org 100h
start:
cli
jmp start
собрал присутствующим nasm'ом, запустил — виртуалка висит, на CAD не реагирует :)
там можно было не компилить а сделать com файл с двумя или тремя (раньше коды помнил) командами в текстовом редакторе, сохранить и запустить
> с двумя или тремя (раньше коды помнил) командами
ъф — в вин кодировке, насколько я помню.
ъф — в вин кодировке, насколько я помню.
А в байтах это будет FA F4 (я относительно недавно тестил эмулятор 8086 и от него остались образы флопиков)

Любопытно (и это при работающей KolibriOS), что Ms-Dos 7.1 не грузится — «Unimplemented: into instruction Execution stopped», ну а шестой, как и фридос естественно работают.
Вообще, качество эмулятора ещё далеко от идеала — не работают дос-программы работоспособные даже на 8086 (Insight, Checkit).

Любопытно (и это при работающей KolibriOS), что Ms-Dos 7.1 не грузится — «Unimplemented: into instruction Execution stopped», ну а шестой, как и фридос естественно работают.
Вообще, качество эмулятора ещё далеко от идеала — не работают дос-программы работоспособные даже на 8086 (Insight, Checkit).
cat aaa.com
alt+250
alt+235
alt+253
ctrl+z
так, емнип
fa eb fd
alt+250
alt+235
alt+253
ctrl+z
так, емнип
fa eb fd
del
К сожалению скорость на уровне Bosch, при том что Bosch все же полезнее. А Qemu так вообще рвет этот эмулятор. Если бы поднять скорость раз в 5 хотя бы, то можно было бы проверять, да и даже писать программы под самой Колибри. Вообще я лично запускал Колибри на реальной железке с частотой в 50 МГц (AMD 586 без MMX). В общем подождем, может авторы чего-нибудь с производительностью порешают со временем. Спасибо за статью.
Мне очень интересно мнение минусющих мой комментарий людей — чем я вас лично задел? Тем что упомянул Колибри, которую и так упомянул автор поста и она поставлена в качестве одного из загрузочных образов по ссылке оригинальным автором вообще? Или тем что я объективно оценил скоростные характеристики эмулятора? Или тем что привел пример из своего собственного опыта? Или вы просто ненавидите меня и/или проект Колибри? Объяснитесь пожалуйста — не ведите себя в школьном стиле «толкни и беги».
Bochs, не Bosch. Т.е. «бокс», а не «бош» :)
Приношу извинение за неправильное написание названия эмулятора Bochs, название которого очень близко к написанию названия фирмы Bosch. Постараюсь впредь быть внимательней.
Нужно это произведение искусства в виде asm.js оформить.
Это даст прирост скорости?
Должно
Эмулятор c s-macke.github.io/jor1k/ получает от asm.js заметный прирост. Он правда не x86, а OpenRISC 1000 (и вероятно быстрейший на js).
Знатное извращение
ReactOS не взлетел :(
i.imgur.com/PpFOxde.png
i.imgur.com/PpFOxde.png
Сделать версию для nodejs с поддержкой сети и собрать кластер =)
Прикольно, только я нашел в KolibriOS в папке DEMOS демку FIREWORK, на которую система ругается «unsupported processor instruction» — ей не хватает какого-нибудь MMX/SSE/...?
Да. Из комментария к программе: "; NOTE: Needs MMX & SSE"
Печально что нет исходников, JavaScript-код этой поделки — обфусцирован. У Белларда в LinuxJS код так же обфусцирован. А так хотелось понять как работает код эмуляторов.
В коде есть ссылка на source map, но она по этому url просто не загружается :(
Sign up to leave a comment.
Эмулятор x86 на JavaScript