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
Сам эмулятор можно заценить здесь.
12.10.2011
Энтузиасты подключились к усовершенствованию эмулятора ПК, написанного целиком на JavaScript и способного запустить Linux. Изначально проект был представлен в мае Фабрисом Беллардом (Fabrice Bellard), основателем проекта QEMU. Улучшенная версия эмулятора (для запуска следует открыть файл emulator.html) предоставляет возможность загрузки последнего выпуска ядра Linux (3.0.4) и реализует драйвер виртуального блочного устройства.
Драйвер виртуального блочного устройства позволяет обеспечить постоянное хранение данных между разными сеансами работы, используя для этого API HTML5 для работы с локальным хранилищем. Загрузив специально подготовленное Linux-окружение пользователь имеет возможность отформатировать дисковый раздел с использованием файловой системы ext2 и в дальнейшем работать с ним при запуске эмулятора. Так как API HTML5 для локального хранения данных работает достаточно медленно, драйвер поддерживает кэширование в памяти полного содержимого диска с периодическим сбросом изменений в постоянное хранилище. Поэтому важно корректно отмонтировать виртуальный диск перед закрытием сессии.
Комментарии
Rj
#cid3975
Ответить
О_О бл*****
#cid3980
Ответить
Да-да, открывается новая эпоха.
Флеш вместе с внебрачным сильверлайтом больше не нужны, а приложения потихоньку становятся кроссплатформенными.