fbpx

Компьютер в браузере

Зачем ограничиваться одним ядром, когда в браузер можно запихнуть весь компьютер, а точнее, его виртуальный аналог? Именно это сделал неугомонный математик, а по совместительству автор эмулятора QEMU и медиапакета FFmpeg Фабрис Беллар. Исключительно ради проверки текущих возможностей JS, а также собственных скиллов он сел и начал реализацию браузерного эмулятора ПК с нуля.

В результате появился удивительно быстрый эмулятор, способный загрузить linux–2.6.20 с виртуальной файловой системой, содержащей практически все стандартные команды Linux, буквально за несколько секунд (8,478 в Chrome 28, если быть точным). Причем, по заявлению Беллара, JavaScript позволил реализовать некоторые оптимизации, отсутствующие в QEMU, и таким образом в некоторых местах добиться более высокой, в сравнении с тем же QEMU, производительности.

Во всем остальном возможности эмулятора довольно стандартные: набор инструкций i486, эмуляция сетевой карты и текстового видеоадаптера. Поддержка дисковых накопителей пока не реализована, как и поддержка сопроцессора и наборов инструкций MMX, SSE. Однако все это не мешает работе Linux, благодаря наличию в ядре эмулятора сопроцессора и поддержки виртуальных дисковых накопителей в памяти.

Полюбоваться работой этого чуда программистской мысли можно на странице автора. Сразу после входа начнется загрузка эмулятора, в конце которой выпадет консоль и станут доступны редакторы vi и qemacs, компилятор tcc, сетевые серверы dnsd, ntpd, ftpd, httpd, sendmail и многое другое.

pcjs