Фабрис Беллард (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).
>>> Подробности