Linux в браузере

Никогда не думал, что увижу что-либо подобное, но это свершилось. Фабрис Беллард (Fabrice Bellard), основатель FFmpeg, автор QEMU, Tiny C Compiler, QEmacs и других проектов представил свою новую разработку — Linux в виртуальной машине на JavaScript. Текущая реализация занимает всего 86КБ и поддерживает только базовые возможности: 32-битный x86-совместимый процессор, программируемый контроллер 8259, программируемый таймер 8254, UART 16450, эмулятор терминала, работающего с UART.

Несмотря на такой минимализм, этих возможностей достаточно, чтобы запустить полноценное ядро Linux с корнем на ext2, включающим BusyBox, С-компилятор TCC и QEmacs.

Любой желающий может в своем браузере увидеть загрузку ядра Linux, поработать в открывшейся консоли, скомпилировать hello.c и выполнить rm -rf /. После загрузки ядра все операции выполняются в браузере без участия сервера.

Работоспособность подтверждена для браузеров Firefox 4, Seamonkey 2.1, Safari 5 и Chrome 11. По слухам проект не работает в Opera (нет поддержки Typed Arrays, а тестовые сборки, где она есть, выдают ошибку) и Chrome 12 («it does not work with Chrome 12 beta. As far as I know, it is a bug in the browser» — Fabrice Bellard).

Официальная страница проекта: http://bellard.org/jslinux

Добавить комментарий