• В Беларуси
  • Наука
  • Интернет и связь
  • Гаджеты
  • Игры
  • Офтоп
  • Оружие
  • Архив новостей
    ПНВТСРЧТПТСБВС
  1. И снова умерли 10 человек. Минздрав выдал свежую суточную статистику по коронавирусу в Беларуси
  2. «Открыл нам неограниченный кредит и разрешил тратить, сколько хотим». Меценат Юрий Зиссер
  3. Посмотрели цены на рынке «Валерьяново», куда приезжал Лукашенко, и сравнили с Комаровкой
  4. Смена внешности и запрет на съемку. Лукашенко подписал законы о госзащите и нацбезопасности
  5. Йоханнес Бё души не чает в жене и ребенке. Только взгляните на их семейную идиллию
  6. Что сейчас происходит в Индии, которая шокирует мир смертностью от COVID-19? Рассказывают белоруски
  7. «За попытку скрыться». Задержали работника «Белоруснефти», который записал видео против насилия
  8. Беларусь лишили права проведения этапа Кубка мира по биатлону
  9. Журналиста TUT.BY Катерину Борисевич перевели в гомельскую женскую колонию
  10. Деньги, предназначенные для страхования вкладов физлиц, используют для новой модернизации?
  11. Генпрокурор: «Установлены сведения о еще живых нацистских преступниках. Из литовских батальонов СС и Армии Крайовой»
  12. Погода на неделю: дожди и грозы, но тепло
  13. Врач — об опасности домашней пыли и том, как часто нужно делать уборку
  14. Врач рассказывает про анализ, который помогает проверить, все ли у вас в порядке с запасом железа
  15. В «Песочнице» засадили овощами новые грядки, теперь полить и прополоть лучок может любой минчанин
  16. Белорусские каналы не будут показывать «Евровидение». Белтелерадиокомпания объяснила причину
  17. Культурная революция в Китае: как школьники вырезали интеллигентов в рамках «классовой борьбы»
  18. Инженер-программист и профессиональная модель. Вот какая девушка стала «Мисс Вселенная»
  19. Помните пса с пробитой головой и оторванным носом? Узнали, что сейчас с ним и ищут ли живодера
  20. В полвторого ночи написал явку с повинной. О какой «взятке» 12-летней давности говорят в суде над Бабарико
  21. «Скинул 20 кг за 5 месяцев». Белорус рассказывает, как похудел, а потом набрал мышечную массу
  22. В минской поликлинике начинают выдавать сертификаты вакцинированным от COVID-19
  23. Сколько белорусы возмещают за коммунальные услуги и проезд в общественном транспорте
  24. По деньгам выходит дешевле, чем отели. Путешествие на автодоме по Полесью
  25. Свидетель слышал все происходящее в зале, но суд это не смутило. Журналистке TUT.BY Касперович дали 15 суток
  26. Очевидцы сообщили о задержании ОМОНом велосипедистов на Цнянке
  27. Ваш народ от рук отбился. Почему у власти уже сбоит система распознавания «свой-чужой»
  28. Курс доллара упал почти до пятимесячного минимума. Что произошло и что будет дальше
  29. «Не представляет, как будет жить дальше». Поговорили с супругой военного, которому дали 18 лет колонии за госизмену
  30. «Дорогое удовольствие для государства». Минтруда — о сокращении декрета и пересмотре размера пособий


Французский математик Фабрис Беллар (Fabrice Bellard), основавший в свое время проект QEMU, представил реализацию полноценного эмулятора x86-совместимого ПК, написанную полностью на языке JavaScript. Реализована эмуляция 32-разрядного x86-совместимого CPU, контроллера прерываний 8259, таймера 8254 и приёмопередатчика 1650 UART, пишет ресурс OpenNET.
 
Эмулятор способен загрузить 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.
 
В процессе работы эмулятор использует типизированные JavaScript-массивы, позволяющие увеличить производительность и уменьшить потребление памяти при работе с наборами данных фиксированного размера. JavaScript-реализация основана на коде динамического x86-транслятора, созданного в рамках проекта QEMU, адаптированного с учетом использования интерпретатора.
 

 
В настоящее время эмулируется набор инструкций i486, за исключением поддержки FPU. Отсутствие математического сопроцессора не мешает работе Linux, так Linux поддерживает использованием эмулятора FPU. Кроме того, в эмуляторе пока не реализована поддержка наборов инструкций MMX и SSE, имеются некоторые особенности выполнения проверок при работе с памятью, не реализована поддержка реального режима и 16-разрядного защищенного режима. Отмечается, что в новом эмуляторе реализовано несколько отсутствующих в QEMU оптимизаций, которые позволяют выполнять определенные действия более эффективно, чем в QEMU.
 
Мотивом создания эмулятора стал интерес Фабриса Беллара к реализации современных JavaScript-движков, которые на современном этапе развития уже достаточно быстры, чтобы выполнять такие задачи, как запуск эмуляторов. В будущем Беллар не исключает возможности создания своего JavaScript-движка. По словам Беллара, создание представленного эмулятора стало прекрасной школой по изучению оптимизации JavaScript-кода с учетом особенностей современных JavaScript-движков, таких как Jaeger Monkey (Firefox 4) и V8 (Chrome).
 
Что касается субъективной оценки производительности, то эмулятор в настоящее время работает при использовании Firefox 4 примерно в два раза быстрее, чем при запуске под управлением Chrome. Причины такого различия пока детально не анализировались, возможно были упущены какие-то особенности движка V8, так как движок Jaeger Monkey был более детально изучен Белларом.
 
Кроме разработки QEMU, Фабрис Беллар является создателем мультимедиа пакета FFmpeg, TinyGL (сокращенный вариант OpenGL) и Emacs-подобного текстового редактора QEmacs. Отдельно можно отметить разработку сверхбыстрого Си-компилятора TCC (Tiny C Compiler), позволяющего использовать Си как язык для разработки скриптов. Например, на базе TCC был создан загрузчик TCCBOOT, который обеспечивал сборку Linux-ядра на лету и его загрузку за 15 секунд. В среде математиков Беллар известен как создатель самой быстрой формулы для вычисления числа Пи и как обладатель мирового рекорда по вычислению числа Пи (2700 миллиардов знаков после запятой).
-30%
-20%
-20%
-20%
-10%
-10%
-10%
-50%
-15%
-17%
0069757