OpenNET.ru:

Французский математик Фабрис Беллар (Fabrice Bellard), основавший в свое время проект QEMU, представил реализацию полноценного эмулятора x86-совместимого ПК, написанную полностью на языке JavaScript. Реализована эмуляция 32-разрядного x86-совместимого CPU, контроллера прерываний 8259, таймера 8254 и приёмопередатчика 1650 UART.

Эмулятор способен загрузить Linux в окне современных web-браузеров (работа проверена в Firefox 4 и Google Chrome 11). После запуска эмулятора производится загрузка Linux-ядра 2.6.20 (конфигурация ядра) c созданием ram-диска, в котором используется файловая система Ext2. Загрузка происходит за несколько секунд, после чего выводится стандартное приглашение командной оболочки из пакета busybox. Окружение содержит работоспособный TCP-стек (по умолчанию поднимается loopback-интерфейс), присутствуют стандартные команды, такие как ifconfig, ping и netstat. В состав загружаемого в эмуляторе Linux-дистрибутива включен достаточно полный набор приложений, например, имеются текстовые редакторы vi и qemacs, компилятор tcc, сетевые серверы dnsd, ntpd, ftpd, httpd, sendmail. В качестве системной библиотеки используется uClibc.

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

На языке JavaScript написан полноценный эмулятор ПК, способный загрузить Linux

Сам эмулятор можно заценить здесь.

Энтузиасты подключились к усовершенствованию эмулятора ПК, написанного целиком на JavaScript и способного запустить Linux. Изначально проект был представлен в мае Фабрисом Беллардом (Fabrice Bellard), основателем проекта QEMU. Улучшенная версия эмулятора (для запуска следует открыть файл emulator.html) предоставляет возможность загрузки последнего выпуска ядра Linux (3.0.4) и реализует драйвер виртуального блочного устройства.

Драйвер виртуального блочного устройства позволяет обеспечить постоянное хранение данных между разными сеансами работы, используя для этого API HTML5 для работы с локальным хранилищем. Загрузив специально подготовленное Linux-окружение пользователь имеет возможность отформатировать дисковый раздел с использованием файловой системы ext2 и в дальнейшем работать с ним при запуске эмулятора. Так как API HTML5 для локального хранения данных работает достаточно медленно, драйвер поддерживает кэширование в памяти полного содержимого диска с периодическим сбросом изменений в постоянное хранилище. Поэтому важно корректно отмонтировать виртуальный диск перед закрытием сессии.

В написанном на JavaScript эмуляторе ПК появилась поддержка постоянного хранилища


Rj
2011.07.21 19:48:56
#cid3975

Ответить

О_О бл*****

2011.07.21 21:54:38
#cid3980

Ответить

Да-да, открывается новая эпоха.

Флеш вместе с внебрачным сильверлайтом больше не нужны, а приложения потихоньку становятся кроссплатформенными.