Ядро Linux удалось запустить в окне веб-браузера
Независимый французский программист Фабрис Беллар (Fabrice Bellard) сумел создать эмулятор компьютера на языке JavaScript. Эмулятор оказался достаточно мощным, чтобы запустить ядро операционной системы Linux в обычном веб-браузере. Для демонстрации возможностей эмулятора были использованы браузеры Firefox 4 и Chrome 11.
» Нажмите, для открытия спойлера | Press to open the spoiler «
Запуск Linux-ядра версии 2.6.20 в браузере позволяет с уверенностью констатировать: JavaScript-движки достигли производительности компьютеров с процессорами серии 486. Сам программист утверждает, что создал свой эмулятор лишь для развлечения, однако надеется, что этот эмулятор
можно будет применять для сравнительной оценки скорости работы разных JavaScript-движков.
Фабрис Беллар уже получил известность благодаря проектам FFmpeg (открытая система кодирования для мультимедийного контента) и QEMU (эмуляция процессоров). В ходе разработки эмулятора полноценного ПК выяснились любопытные детали: в браузере Chrome с его разрекламированным «движком» V8 виртуальный «JavaScript-ПК» работает вдвое медленнее, чем в браузере Firefox с «движком» Jaeger Monkey. Вполне вероятно, что успехи Frirefox в скорости исполнения JavaScript-сценариев обусловлены приходом в компанию Mozilla самого Брендена Эйча (Brenden Eich), создателя технологии JavaScript. Стоит отметить, что при тестировании эмулятора Беллар использовал 32-битные версии браузеров Firefox и Chrome.
Успехи браузера Firefox в соревновании JavaScript-движков в последнее время стали очень заметными. Изобретатель и популяризатор технологии JSON Дуглас Крокфорд (Douglas Crockford), который теперь занимает должность главного JavaScript-архитектора в компании Yahoo!, недавно представил новый JavaScript-тест на основе библиотеки JSLint, изначально предназначенной для проверки качества кода на языке JavaScript. Этот тест показал превосходство Firefox 4 над Chrome. Примечательно, что даже ознакомительная версия браузера Microsoft Internet Explorer 10 оказалась быстрее, чем Chrome.
Эмулятор ПК от Фабриса Беллара написан на «чистом» языке JavaScript с использованием спецификации типизированных массивов, которые предлагают интерфейс API для использования системных бинарных данных. На данный момент эмулятор прошел испытания на всех популярных клиентских платформах, включая Linux, Windows и Mac OS.
Эмулируемое оборудование в творении Беллара включает в себя 32-битный x86-совместимый процессор, программируемый контроллер прерываний серии 8259, программируемый таймер прерываний 8254 и универсальный асинхронный приемопередатчик UART 16450 для функций ввода/вывода. По словам самого Беллара, производительность эмулируемого ПК сравнима с системами на базе процессора Intel 486, хотя и без модуля для вычислений с плавающей точкой. В то же время, Беллар сможет эмулировать аппаратный модуль вычислений с плавающей точкой через ядро Linux.
Кроме использования в сравнительных тестах производительности, Беллар предполагает использование своего эмулятора в клиентских приложениях шифрования. Есть для нового браузерного эмулятора ПК и более «серьезное» применение запуск старых DOS-игр.
По материалам сайта The Register
Linux 2.6.39: окончательное освобождение от BKL
Вышла новая версия ядра Linux — 2.6.39. На подготовку релиза ушло около двух месяцев (с момента выпуска Linux 2.6.38), что в лишний раз подтвердило тенденцию уменьшения сроков подготовки каждого последующего релиза: если на 2.6.31 ушло 92 дня, то на 2.6.36 — 80, а на 2.6.39 — всего 65.
» Нажмите, для открытия спойлера | Press to open the spoiler «
Среди изменений, представленных в Linux 2.6.39, можно выделить следующие:
полное избавление от BKL (Big Kernel Lock — вынужденной блокировки, ограничивавшей возможности параллельных вычислений в SMP-процессорах); знаменательный коммит был сделан Арндом Бергманном (Arnd Bergmann) и озаглавлен как «BKL: That's all, folks»;
поддержка семейства графических чипов AMD Cayman в драйвере Radeon (пока без ускорения);
поддержка Z-компрессии для видеокарт NVIDIA в драйвере Nouveau;
включение в ядро ipset — фреймворка и одноименной команды для эффективной работы с большими таблицами IP-адресов, номеров портов (TCP/UDP) или IP-адресов с MAC-адресами;
включение в ядро сетевого бэкенда (netback) для возможности взаимодействия фронтэнд-драйверов в гостевых системах Xen (DomU) с другими системами;
в файловой системе ext4 теперь по умолчанию активируется опция mblk_io_submit («Multiple Page-IO Submissions»), призванная значительно улучшить производительность и масштабируемость (код для нее появился еще в Linux 2.6.37);
файловая система btrfs получила возможность «Batched Discard», которая использует команду fstrim с целью оповещения SSD-дисков о неиспользуемых областях;
новая файловая система pstore позиционируется как «platform-persistent storage»;
поддержка хабов USB 3.0.
Источник: nixp