The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

17.05.2011 12:28

Французский математик Фабрис Беллар (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.

В процессе работы эмулятор использует типизированные 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 миллиардов знаков после запятой).

  1. Главная ссылка к новости (http://linux.slashdot.org/stor...)
  2. OpenNews: Началась работа над IonMonkey, новым JIT-компилятором JavaScript от проекта Mozilla
  3. OpenNews: Создатель JSON представил новый тест производительности JavaScript в web-браузерах
  4. OpenNews: Разработчики Mozilla приступили к созданию гибридного JavaScript-движка V8Monkey
  5. OpenNews: Эмулятор PDP-1 на Javascript вернул к жизни первую графическую игру
  6. OpenNews: В движке V8 появилась новая подсистема JIT-компиляции JavaScript-кода
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: javascript, speed, emulator, qemu, linux, jslinux
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (121) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.7, Andrew Kolchoogin (?), 13:56, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +28 +/
    Мои аплодисменты представителю высшей когорты математиков XXI века.

    Для молодёжи: не учишь матан -- пойдёшь...

     
     
  • 2.10, pavlinux (ok), 14:06, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +14 +/
    > Для молодёжи: не учишь матан -- пойдёшь...

    Русский тоже надо учить, чтоб другие понимали. :)

     
  • 2.127, Andrey Mitrofanov (?), 18:44, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ...а выучишь, пойдёшь коптить небо "карбоном" в особо извращнной форме?
     
  • 2.203, O (?), 12:47, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Для молодёжи: не учишь матан -- пойдёшь...

    Не учишь матан -- пойдёшь в афган.

     
  • 2.210, Аноним (-), 14:58, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Мои аплодисменты представителю высшей когорты математиков XXI века.
    > Для молодёжи: не учишь матан -- пойдёшь...

    Технично подлизнули. Только этот старый зубр - он еще из XX века.

     

  • 1.8, Timka (??), 13:57, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    чувак реально крут. уважаю увлеченных людей.
     
  • 1.9, lazyest (ok), 14:02, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +18 +/
    просто нет слов, выражение полнейшего респекта! Именами таких людей нужно улицы называть (8
     
  • 1.15, Аноним (-), 14:13, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Работала бы еще сеть, кроме lo было-бы совсем круто
     
     
  • 2.176, Аноним (-), 02:07, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В браузере? Интересно, а как и куда оно пакетики бы гоняло? oO Хакеры бы от счастья умерли, если б браузеры такое позволяли: закачал яваскрипт и вот тебе уйма халявных ддосспамботов, гроза всего живого :)
     
     
  • 3.192, анонимумусь (?), 09:11, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если не ошибаюсь, то html5в ебсокеты могут позволить этому Линуксу юзать сеть.
    Да и вредоносный js легко обнаружить.
     
  • 3.195, Аноним (-), 09:44, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > В браузере? Интересно, а как и куда оно пакетики бы гоняло? oO
    > Хакеры бы от счастья умерли, если б браузеры такое позволяли: закачал
    > яваскрипт и вот тебе уйма халявных ддосспамботов, гроза всего живого :)

    Через туннель поверх WebSockets будет вполне резво сеть работать.

     
     
  • 4.230, Аноним (-), 19:24, 23/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Через туннель поверх WebSockets будет вполне резво сеть работать.

    Так через него можно в лушчем случае только до сервера туннель прокинуть. На сервере к тому же придется извращаться с приемом соединения. Геморно и как-бы и не настоящая сеть.

     

  • 1.16, 1 (??), 14:18, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    runtime environment for chrome OS )))))
     
  • 1.17, fresco (ok), 14:25, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –36 +/
    вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус. НО ЗАЧЕМ?!
     
     
  • 2.19, klalafuda (?), 14:30, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус. НО ЗАЧЕМ?!

    Дурак ты, Васечкин (с).. Видимо, любовь к пыху совсем отшибла чувство прекрасного.

     
     
  • 3.21, fresco (ok), 14:35, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –9 +/
    > Дурак ты, Васечкин (с).. Видимо, любовь к пыху совсем отшибла чувство прекрасного.

    я бы сказал, что как раз любовь к пыху и позволяет видеть прекрасное в таких вещах.

     
  • 3.58, Аноним (-), 16:56, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус. НО ЗАЧЕМ?!
    > Дурак ты, Васечкин (с).. Видимо, любовь к пыху совсем отшибла чувство прекрасного.

    То есть по-твоему, javascript чем-то лучше пыха?

     
     
  • 4.88, klalafuda (?), 17:41, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > То есть по-твоему, javascript чем-то лучше пыха?

    В данном случае - ни чем не лучше и не хуже. С таким же успехом все тоже самое можно было написать на любом P* на выбор. Но эффект будет уже совсем не тот. По крайней мере до тех пор, пока php/perl/python/etc не начнут в массовом порядке встраивать в браузеры.

     
     
  • 5.111, Аноним (-), 18:08, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > В данном случае - ни чем не лучше и не хуже

    Тонкое замечание, да.

    > С таким же успехом все тоже самое можно было написать на любом
    > P* на выбор. Но эффект будет уже совсем не тот. По
    > крайней мере до тех пор, пока php/perl/python/etc не начнут в массовом
    > порядке встраивать в браузеры.

    Да что уж там - пусть Беллард напишет на яваскрипте транслятор из php/perl/python/etc в яваскрипт, и будет счастье.

     
  • 5.177, Аноним (-), 02:09, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > крайней мере до тех пор, пока php/perl/python/etc не начнут в массовом
    > порядке встраивать в браузеры.

    Спасибо, нам уже JS хватает. Добавки не надо. Правда я тоже не понимаю в чем большой профит загрузуки линукса без сети в браузере. Чисто музейный экспонат, годится чтобы пофапать. А практической пользы примерно ноль.

     
     
  • 6.234, поцанчик (ok), 00:16, 27/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> крайней мере до тех пор, пока php/perl/python/etc не начнут в массовом
    >> порядке встраивать в браузеры.
    > Спасибо, нам уже JS хватает. Добавки не надо. Правда я тоже не
    > понимаю в чем большой профит загрузуки линукса без сети в браузере.
    > Чисто музейный экспонат, годится чтобы пофапать. А практической пользы примерно ноль.

    чего новость не дочитал до конца?

    ведь ясно сказано, что
    >> По словам Беллара, создание представленного эмулятора стало прекрасной школой
    >> по изучению оптимизации JavaScript-кода с учетом особенностей современных
    >> JavaScript-движков, таких как Jaeger Monkey (Firefox 4) и V8 (Chrome).

     

  • 1.18, klalafuda (?), 14:29, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Королева в восхищении! Побольше бы таких действительно людей дела.
     
  • 1.20, q (??), 14:33, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Это конечно круто, уважиха и аплодисменты, но... зачем это нужно? Увеличить энергопотребление процессора?
     
     
  • 2.27, Аноним (-), 14:51, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем - читаем 5 абзац новости.

    Вообще же, с моей точки зрения, очередное подтверждение что современный JS может использоваться для весьма серьезных задач, а не только как пускалка скриптиков. При этом есть очевидные плюсы, не надо лишний раз компилить, простота, переносимость, конечно есть и минусы, все же не так быстро как на сях, но зачастую оно и не нужно, вышеозначенные плюсы могут решать, понятно что дрова на этом писать глупо, на то есть С, но вот скажем интерфейсы вместо кутешных плюсов вполне может быть, как минимум менее геморойно. Правда тут есть один нехороший момент, JS пока не особо богат, элементарно например модулей нет ;(

     
     
  • 3.61, Аноним (-), 16:58, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Вообще же, с моей точки зрения, очередное подтверждение что современный JS может
    > использоваться для весьма серьезных задач, а не только как пускалка скриптиков.

    Это такая-же серьёзная задача как и пускание скриптиков, и справится с этим хоть пых, хоть brainfuck. Использование для таких задач таких языков само по себе серьёзным не может быть. Не ожидал такого маразма от Белларда.

     
     
  • 4.107, Аноним (-), 18:00, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > справится с этим хоть пых, хоть brainfuck.

    Вот когда хоть пых, хоть brainfuck станут стандартными клиентскими языками, чтобы не прыгать с одного на другой, вот тогда тоже самое можно будет сказать и про них, а пока это не так.

     
     
  • 5.113, Аноним (-), 18:09, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот когда хоть пых, хоть brainfuck станут стандартными клиентскими языками

    Нет такого понятия как "стандартный клиентский язык".

     
     
  • 6.115, Аноним (-), 18:12, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    для тех кто не читает стандарты
     
  • 6.135, terr0rist (ok), 19:08, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Вот когда хоть пых, хоть brainfuck станут стандартными клиентскими языками
    > Нет такого понятия как "стандартный клиентский язык".

    Т.е. по-твоему ЕСМА-262 - не стандарт? Клиентский - ориентированный на клиентские интерфейсы, а не на консольный скриптинг.

     
     
  • 7.142, Аноним (-), 19:25, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.е. по-твоему ЕСМА-262 - не стандарт?

    Стандарт языка. Язык же "стандартным" нигде являться не может в принципе.

    > Клиентский - ориентированный на клиентские интерфейсы, а не на консольный скриптинг

    Ничего там "ориентированный на клиентские интерфейсы" нет. General purpose как и сотни других.

     
     
  • 8.153, Аноним (-), 20:27, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Может не может а в браузерах JS единственный поддерживаемый всеми язык The type ... текст свёрнут, показать
     
  • 8.163, Толстый (ok), 21:20, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Борис, ты не прав Javascrip включается в стандартную поставку Windows, а следов... текст свёрнут, показать
     
     
  • 9.174, Аноним (-), 01:09, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ActiveX и VBScript тоже ... текст свёрнут, показать
     
     
  • 10.211, Толстый (ok), 16:12, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Но это не стандарты, и они специфичны микрософту JS присутствует в Apple, на вс... текст свёрнут, показать
     
  • 9.235, поцанчик (ok), 00:22, 27/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Толстый, тыне прав в поставке микрософт виндовса идёт езык JScript ... текст свёрнут, показать
     
  • 4.133, terr0rist (ok), 18:59, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А какой язык серьёзнее: С? Жава? Питон? Ну да, про хаскелл забыл.
    Серьёзный язык - не тот, который ты лучше всего знаешь, а тот, на котором можно написать что-то серьёзное. Что Ф.Б. и продемонстрировал с Жаваскриптом.
    А если твои познания в ЖС ограничиваются онкликами в браузере, то это проблемы твои, а не языка. Не умеешь ездить на лыжах - не вини лыжи.
     
     
  • 5.143, Аноним (-), 19:27, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А какой язык серьёзнее: С? Жава? Питон? Ну да, про хаскелл забыл.
    > Серьёзный язык - не тот, который ты лучше всего знаешь, а тот,
    > на котором можно написать что-то серьёзное. Что Ф.Б. и продемонстрировал с
    > Жаваскриптом.

    Серьёзный - это тот, приложения на котором эффективно работают. Некоторые и упомянутым brainfuck'ом серьёзно занимаются, даже железные реализации пишут, но толку с них не больше чем с этой поделки на недоскрипте.

     
  • 5.227, saNdro (?), 12:36, 21/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А микроскопом можно не только смотреть различные мелкие предметы, но ещё колоть орехи и даже забивать гвозди. Очень даже серьёзно. Это тоже должно вызывать воодушевление?
     
  • 4.186, northbear (ok), 07:32, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Дай бог вам такого "маразма" в ваши годы... или хотя бы в его.
    Этот "маразм" называется, доведение результатов исследований до состояния продукта или действующего макета.
    Именно по этому Беллард это Беллард, чей научный авторитет не подвергается сомнению никем, а вы тривиальный анонимус, которому скорей всего даже не на что повестить своё имя,
     
  • 3.181, Аноним (-), 02:28, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > использоваться для весьма серьезных задач, а не только как пускалка скриптиков.

    Любой полный по Тьюрингу язык может использоваться для серьезных задач. В теории. На практике в ряде случаев получается очень непрактично. Можно и ядро операционки на брэйнфаке написать. Теоретически. Но зачем? :)

     
  • 3.216, Aqueelone (?), 18:07, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Правда тут есть один нехороший момент, JS пока не особо богат, элементарно например модулей нет ;(

    Это каких модулей Вам не хватает?
    Сейчас сама идея нового модуля под JQuery -- Это Идея!!! ....потому что могли придумать -- придумали и по многу раз...

     
     
  • 4.222, Аноним (-), 10:10, 19/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не, это я имел ввиду модули (пакеты) в самом языке, ну там с интерфейсной и служебной частями, своим пространством имен, чтобы их из кода подгружать можно было и т.п, можно конечно без них обойтись, но это скорее от бедности ;)
     
     
  • 5.236, поцанчик (ok), 00:27, 27/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Не, это я имел ввиду модули (пакеты) в самом языке, ну там
    > с интерфейсной и служебной частями, своим пространством имен, чтобы их из
    > кода подгружать можно было и т.п, можно конечно без них обойтись,
    > но это скорее от бедности ;)

    постой приятель!!! А чем тебе  javaScript  - скопы не пространства имён ?
    Не суди о том чего не знаешь. Ты ламо в джаваскрипте, и фразы твои ламерски звучат!

     
  • 2.207, vovan (??), 14:36, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Непрошибаемая песочница
     

  • 1.24, anon8 (ok), 14:40, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Фабрис нереально крут. Респект.

    Туда генту можно поставить?

     
     
  • 2.182, Аноним (-), 02:29, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Туда генту можно поставить?

    За пару месяцев скомпилится :)

     

  • 1.25, Аноним (-), 14:40, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    научить эту шляпу цеплятся к бридж интерфейсам хоста и можно делать впс на шаред хостингах =)
     
     
  • 2.76, ig0r (??), 17:23, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нужно собрать кластер из виртуалок клиентов, и хостить на клиентах сайты
     

  • 1.28, Square (ok), 14:56, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Сколько файрфоксов надо чтобы развернуть клуд сторадж?
     
     
  • 2.199, Akademic (ok), 12:14, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Достаточно одного, я полагаю. Просто табов много открыть. )
     

  • 1.34, axe (??), 15:28, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    сделал для пробы rm -fr /
    Работает! =)
     
     
  • 2.44, Аноним (-), 16:29, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    гыгы, я тож, потом ребут и все снова живет :)
     

  • 1.35, 123456 (??), 15:41, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    reboot -f приводит к 100%ной загрузке ЦП
     
     
  • 2.39, Аноним (-), 16:09, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Кстате да - мне пришлось убивать процесс чтоб завершить этот порочный цикл )
     

  • 1.37, hummermania (?), 15:47, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    За пару часов запуска  JSLinux по всей Европе, России и в мире, автор заработал 100500 скиллзов, получил мегатонны флюидов добра и лучей восхищения, а так же гонорар от мозилла и гугла в размере премии Перельмана...

    На утро очухавшись от триумфа славы Фабрис просил себя: "А что во что должно быть встроенно? Линукс будет запускаться в браузере запущенном на линуксе или наоборот" =)

     
     
  • 2.60, ананим (?), 16:58, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    угу.
    вот только даже (и даже сейчас) первокурсники уже знают (или должны знать) что такое рекурсия.
     
  • 2.156, anonymous (??), 20:38, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Linux и браузер будут работать на арме. Или ещё чём-нибудь эдаком.
     
     
  • 3.237, поцанчик (ok), 00:31, 27/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Linux и браузер будут работать на арме. Или ещё чём-нибудь эдаком.

    сам арм будет работать в линуксе запущенном в браузере!

     

  • 1.41, Аноним (-), 16:11, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +19 +/
    Теперь пользователи ChromeOS смогут заходить на сайт, чтобы получить нормальный комп.
     
     
  • 2.184, Анон (?), 06:50, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И в нём запустить нормальный FireFox.
     

  • 1.53, fantom (??), 16:52, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Когда МАТЕМАТИК придумал мнимую единицу "i" (это корень квадратный из -1 для тех кто в танке) ПОДАВЛЯЮЩЕЕ число народа сказало "на.ер надо?"...
    Теперь физики без оного вообще жизни не представляют.

    И таких примеров из области математики - пруд пруди.
    Так что не гоните....

     
     
  • 2.57, Аноним (-), 16:55, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > fantom

    Завалишин? Дописал уже свою памятежорку?

    > И таких примеров из области математики - пруд пруди.
    > Так что не гоните....

    Надо быть совсем шибанутым чтобы в подтверждение наличию хоть какой-то пользы от тормозной поделки на недоскрипте привести никак не связанную с ней математическую абстракцию.

     
  • 2.178, Аноним (-), 02:22, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Теперь физики без оного вообще жизни не представляют.

    И не только физики. Без этой абстракции мы бы куковали без половины цифровой обработки сигналов, от сжатия видео до передачи данных по воздуху. Можно конечно сказать что это не надо. Да и вообще, можно в пещере жить, по большому счету.

     
     
  • 3.190, anonymous vulgaris (?), 08:53, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И не только физики. Без этой абстракции мы бы куковали без половины  цифровой обработки сигналов, от сжатия видео до передачи данных по воздуху.

    Не надо гнать за ЦОС, преобразование Фурье и все такое подобное при нужде прекрасно записывается и без нее. С ней удобнее да, но не проблема. А скажем дискретное косинусное преобразование (то самое которое в сжатии видео испрользуется) и вэйвлетное преобразование они вообще вещественные в принципе.


     
  • 2.189, anonymous vulgaris (?), 08:49, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Когда МАТЕМАТИК придумал мнимую единицу "i" (это корень квадратный из -1 для тех кто в танке) ПОДАВЛЯЮЩЕЕ число народа сказало "на.ер надо?"...

    Не надо гнать за народ и математиков, она очевидным образом вылезла из простой практической надобности решать уравнения типа х*х+1=0

     

  • 1.67, б.б. (?), 17:09, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Глыба! Матёрый человечище! На таких людях всё движение и держится.
     
  • 1.106, vmk (ok), 17:59, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Применение например такое:
    Вышел новый дистр. Интересно посмотреть. Не нужно качать - зашел на оф сайт, покликал в браузере. А там решай - ставить/не ставить.

    Было бы удобно.

     
     
  • 2.114, the joker (ok), 18:11, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Применение например такое:
    > Вышел новый дистр. Интересно посмотреть. Не нужно качать - зашел на оф
    > сайт, покликал в браузере. А там решай - ставить/не ставить.
    > Было бы удобно.

    Вроде как бы, да. Но если хочется _внимательно_ посмотреть на дистр, придётся загружать намного больше, чем ядро и базовые утилиты. Если правда, что эмулятор на яваскрипте намного медленнее/требовательнее, чем обычный эмулятор (а пока на обратное никто не претендует), то проще/быстрее/эффективнее скачать образ и запустить традиционным образом. Если же этот эмулятор будет сопоставим с традиционным (что было бы весьма удивительно, хотя...), тогда да, вы окажетесь правы и откроется интересная возможность (однако не проще ли научить обычные эмуляторы грузить образ из интернета?).

     
     
  • 3.167, ascrzy (?), 21:51, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вполне себе хорошее применение, никто же не говорит что это будет сегодня, это будет потом, когда и js ускорится и мощность компов подрастёт.
     
  • 2.119, Аноним (-), 18:17, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вышел новый дистр. Интересно посмотреть. Не нужно качать - зашел на оф
    > сайт, покликал в браузере. А там решай - ставить/не ставить.

    Для этого с головой хватит списка фич и скриншотов. В этом поделии не определить ни как он работает с вашим железом, ни быстродействие, ни даже графику по-человечески.

     
     
  • 3.197, Crespo (ok), 11:18, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зато оно идеально подойдет для обучающих целей.
     
  • 2.126, solardiz (ok), 18:42, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Совсем другое, но на схожую тему http boot kernel org Booting your machine ... текст свёрнут, показать
     
     
  • 3.130, vmk (ok), 18:50, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А чтобы не нужно было качать, нужно выполнение кода на стороне сервера,
    > что реализуемо, например, тем же QEMU с его встроенным VNC-сервером.

    Разница в том, что джаваскриптовый эмулятор запускается на клиенте. Здесь многие уже попробовали "rm -rf /", закрыли вкладку и все.
    А вот в случае qemu? И где взять мощностей, чтобы хватило покликать всем желающим?

     
     
  • 4.144, Аноним (-), 19:31, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А вот в случае qemu?

    -snapshot

    > И где взять мощностей, чтобы хватило покликать всем желающим?

    А головой подумать? Недоскрипт исколняется на клиенте - так и qemu запусти на клиенте. Будет на два порядка быстрее, фичастее и безопаснее.

     
     
  • 5.147, vmk (ok), 19:39, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А головой подумать? Недоскрипт исколняется на клиенте - так и qemu запусти
    > на клиенте. Будет на два порядка быстрее, фичастее и безопаснее.

    Речь идет о том, чтобы не ставить ничего на клиенте дополнительно. Если ставить qemu - теряется смысл. С таким же успехом на виртуалбоксе или вмваре запущу.
    Идея изложена в https://www.opennet.ru/openforum/vsluhforumID3/77147.html#106
    Читайте внимательнее весь тред, если отвечаете.


     
  • 4.146, solardiz (ok), 19:37, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    И по этой же причине не решается задача не качать Я не хочу сказать, что сде... текст свёрнут, показать
     

  • 1.108, ffsdmad (ok), 18:03, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    представьте, Дуров в скрытом фрейме встроит запуск вот этой штуки, поставит там LAMP, объединит их общей сетью и начнёт хостить свой вконтакт прямо на компьютерах пользователей
    получится такая P2P социальная сеть -- самашедший дом

    замечательная возможность славящая все открытые системы

     
     
  • 2.209, Аноним (-), 14:47, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > представьте, Дуров в скрытом фрейме встроит запуск вот этой штуки, поставит там
    > LAMP, объединит их общей сетью и начнёт хостить свой вконтакт прямо
    > на компьютерах пользователей

    Для этого ему придется гонять весь траффик через свои сервера, как максимум IP-over-HTTP (во изврат!). Поскольку если дать возможность слать произвольные пакеты браузеру - хакеры очень быстро и с удовольствием используют эту возможность. Чтобы делать свои темные дела запроксировав все через домохозяек, слать спам в анлимных количествах, етцъ.

     
  • 2.218, ig0r (??), 19:37, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем скрытый фрейм? просто терминал не отображать
     

  • 1.134, Stax (ok), 19:01, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все обсуждают, как это круто. Оно конечно круто, не спорю.. но кто проверил, что это не развод, а действительно эмулятор на js?

    Лично у меня вот сомнения, слишком быстро все выполняется, и слишком мало кода (эмулятор занимает <90kb, заобфусцирован, после сжатия - 18 кб - как-то подозрительно, что там действительно эмулируется все упомянутое, да еще и линукс нормально грузится и работает).

    Там *точно* нет подключения к какому-нибудь серверу, на котором запущен другой эмулятор?

     
     
  • 2.137, Аноним (-), 19:10, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Скопируйте скрипты к себе и запустите на машине без сети.
     
     
  • 3.165, Stax (ok), 21:46, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, разбежались ;)

    Эти скрипты активно работают с сервером разработчика, ведь там же: ядро линукса (вполне объемистое) и образ ФС, монтирующейся в ramdisk (не смотрел, там initrd или как-то иначе). Автономно так сходу ничего не запустится. Но совершенно не очевидно, что скрипт тянет с сервера не только ядро и ФС, но и общается с ним для передачи более высокоуровневой информации.

     
     
  • 4.191, filosofem (ok), 09:07, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Эти скрипты активно работают с сервером разработчика, ведь там же: ядро линукса (вполне объемистое) и образ ФС, монтирующейся в ramdisk (не смотрел, там initrd или как-то иначе). Автономно так сходу ничего не запустится.

    Соберите свое ядро, рамдиск и бутсектор и проверьте. Конфигурация на сайте.

    >Но совершенно не очевидно, что скрипт тянет с сервера не только ядро и ФС, но и общается с ним для передачи более высокоуровневой информации.

    Вы таки телепат? Расскажите нам, что за информацию получает скрипт по эфирным каналам.

    И ни в каком месте скрипт не обфусцирован. Если конечно не считать обфускацией удаление каментов.

     
  • 2.148, анон (?), 19:46, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > эмулятор занимает <90kb

    А что такого? 90 кб на высокоуровневом языке - это дофига
    Беллар и сверхбыстрый компилятор Си весом в 130 кб написал

     

  • 1.136, srgaz (?), 19:10, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это показывает, что js достаточный язык. И тем более бизнес-логику на нем писать можно.
     
     
  • 2.138, Аноним (-), 19:14, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Бизнес-логику можно писать и на брейнфаке. :) Ее вообще на любом дерьме можно писать, даже на MUMPTH. Был такой язычок, во времена КОБОЛа. Потому что бизнес-логика проста как трусы за три рубля.
     
     
  • 3.231, Аноним (-), 19:30, 23/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Бизнес-логику можно писать и на брейнфаке. :)

    Брейнфак полный по Тюрингу - на нем в теории можно реализовать что угодно. По сути - простейший ассемблер минимального RISC процессора с всего несколькими командами. Проблема только в том что на практике что-то писать на брейнфаке очень геморройно. Тем не менее, можно отранслировать язык высокого уровня в этот "байткод", например.

     
  • 2.141, Олег Б. (?), 19:22, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >И тем более бизнес-логику на нем писать можно.

    А также на lisp, prolog, forth, perl, ... Только вот имеет ли смысл? Даже учитывая всеобщую встроенность?

     
     
  • 3.157, Аноним (-), 20:40, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, учитывая всеобщую встроенность конечно не стоит, гораздо лучше еще один сбоку поставить, или два ;)
     
     
  • 4.164, Аноним (-), 21:45, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Проприетарность вообще нацелена на монетизацию. С чем у СПО сла-або! Альтруисты хреновы...
     

  • 1.145, Аноним (-), 19:32, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто. Добавляем фич и начинаем продавать как PaaS-решение. При этом запихиваем ещё туда низкоуровневый "жележный" руткит и имеем кучу профита.
     
  • 1.149, хмм (?), 19:48, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Удивительно, что линукс на javascript грузится быстрее, чем страничка одноклассников
     
  • 1.151, Аноним (-), 20:21, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Можно и собаку научить вальс танцевать, и кошку летать. НО ЗАЧЕМ??? Да и без MMX\SSE там пойдет лишь кастрированный uCLinux %%иначе все китайфоны были бы под линухом, а не под MTKOS%%. Так что как научная работа годно, IRL эпик фейл и радость вирмейкеру да ПВД.
     
     
  • 2.155, Alex (??), 20:32, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Мсье знаток MMX/SSE? Открою секрет: линухам достаточно i386, не нужны никакие MMX/SSE.
     
  • 2.180, Аноним (-), 02:26, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > и без MMX\SSE там пойдет лишь кастрированный uCLinux

    FAIL. Вы путаете наличие полноценного MMU (Memory Management Unit, у х86 он в нужном виде есть начиная с 80386 и старше) и MMX/SSE. uClinux используется там где нет полноценного MMU, обеспечивающего страничную память и возможность изоляции памяти системы и памяти задач друг от друга. С набором команд проца это вообще никак не связано.

     

  • 1.152, StrangeAttractor (ok), 20:24, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ждём иксов под это дело и OpenGL-видеодрайверов, реализованых через WebGL... :-)
     
     
  • 2.202, Мужик32 (ok), 12:38, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А потом запустить там Firefox и в нем опять эмулятор, иксы, еще файрфокс...
     

  • 1.170, EuPhobos (ok), 22:59, 17/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Охренеть, даже компилить через Tiny C можно )
    Жаль код обфусцирован..
     
     
  • 2.194, filosofem (ok), 09:23, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не обфусцирован, смотрите внимательнее.
    Но вот лицензия достаточно неприятная.
    "Redistribution or commercial use is prohibited without the author's
       permission."
     

  • 1.172, Андрей (??), 00:23, 18/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > ...В среде математиков Беллард известен как...

    И при этом нигде ни слова, а где вообще этот человек работает!? А то столько всего сделал, и так лично от себя - классно!

     
  • 1.183, гыгы (?), 02:30, 18/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    у меня есть подозрение что там нечто вроде Java->JS было использовано, наподобие GWT, на чистом JS пишут только садомазики :)

    киньте ссылку на сорсы, неужто и в самом деле на JS намаслал?

     
     
  • 2.187, EuPhobos (ok), 07:49, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > киньте ссылку на сорсы

    Так трудно сделать?
    1. Нажать правой кнопкой мыши по странице
    2. Исходный код страницы
    3. Жмакаешь на cpux86.js

     
     
  • 3.200, Аноним (-), 12:15, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    да ты я смотрю дюже умён, ты хоть читаешь что я написал?.. ты сам-то код этот видел? ты считаешь это и есть те самые исходники??? на полном серьезе? я не могу найти первоначальные исходники
     

  • 1.193, онанимус (?), 09:17, 18/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    "способный загрузить Linux" еще не значит "полноценный"
     
     
  • 2.196, анонимумусь (?), 10:16, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    до полноценности осталось поддержку сети замутить.
     

  • 1.198, Анон (?), 11:37, 18/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Мужик, чтобы понять тонкости работы JavaScript, реализовал на нем эмулятор процессора. Только и всего, для того чтобы понять суть. Т.е. не как многие, написав HelloWorld.js, думают что уже во всём разобрались. Желаю нам всем быть хоть немного такими же крутыми и последовательными.
     
     
  • 2.201, Аноним (-), 12:19, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Мужик, чтобы понять тонкости работы JavaScript, реализовал на нем эмулятор процессора.
    > Только и всего, для того чтобы понять суть. Т.е. не как
    > многие, написав HelloWorld.js, думают что уже во всём разобрались. Желаю нам
    > всем быть хоть немного такими же крутыми и последовательными.

    желаю тебе сейчас открыть исходные код и понять что там скорее всего не JS, а именно <какой-то язык, вероятно Java + GWT> -> JavaScript

     
     
  • 3.212, andres (??), 16:30, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то подобный результат может дать и обфускатор, тот же Google Closure
     
  • 3.214, Илья (??), 17:38, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    От вы упертые. Так сложно представить и понять, что ECMAScript самодостаточный и полноценный язык программирования. Все ваши выводы не идут дальше опыта с кликами на нодах в браузере. http://jsbeautifier.org/ в помощь и курите код. Да, переменные там изменены, но общий смысл можно понять, а не строить из себя умников-разоблачителей.
     
  • 2.205, dq0s4y71 (??), 13:57, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Кхм. А чтобы понять тонкости работы ассемблера, на нем, наверное, нужно написать СУБД...

    На самом деле, я ничего не имею против, пусть изучает. Но почему о каждом чихе великого математика теперь должен знать весь мир?

     
     
  • 3.228, Ваган (?), 19:09, 22/05/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы понять тонкости работы ассемблера, достаточно написать дизассемблер.
     

  • 1.204, dq0s4y71 (??), 13:51, 18/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А на SQL ему эмулятор ПК слабО написать было? ;)

    А если серьезно, то непонятна цель и практическое значение этого экзерсиса, а также восторг, который по этому поводу тут выражают. Беллар (кстати, исправьте), конечно, крут - одни tcc и ffmpeg чего стоят, - но все-таки Obfuscated C Code Contest, в котором он как-то взял приз, наверное, выдавить из себя трудно :)

     
     
  • 2.215, Илья (??), 17:41, 18/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А на SQL ему эмулятор ПК слабО написать было? ;)
    > А если серьезно, то непонятна цель и практическое значение этого экзерсиса, а
    > также восторг, который по этому поводу тут выражают. Беллар (кстати, исправьте),
    > конечно, крут - одни tcc и ffmpeg чего стоят, - но
    > все-таки Obfuscated C Code Contest, в котором он как-то взял приз,
    > наверное, выдавить из себя трудно :)

    Практическое значение - дать понять некоторым умникам, не видящим дальше своего носа, что ECMAScript вот уже много лет является полноценным языком программирования, на котором можно писать что угодно. И по количеству завистливых возгласов - это ему удалось.

     

  • 1.217, Aqueelone (?), 18:22, 18/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Как много флейма написано. И никто не обратил внимание на то, что собственно этот эксперимент как результат дал новые варианты оптимизации кода JavaScript  и т.п.

    Да, потом найденое будет многими перепробовано и войдет в сборки популярных JavaScript фреймворков. И кричащие -- у-лю-лю -- с удовольствием будут использовать сайты, которые оные фреймворки будут использовать...

    Но это будет потом. 20 лет назад тоже был запущен никому не понятный и неизвестные веб-сервер. Многие тоже думали -- а зачем? ... но тема пошла... :)

     
  • 1.219, pavlinux (ok), 23:18, 18/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    # cat /proc/cpuinfo                                                          
    processor       : 0                                                            
    vendor_id       : GenuineIntel                                                  
    cpu family      : 5                                                            
    model           : 4                                                            
    model name      : Pentium MMX                                                  
    stepping        : 3                                                            
    cache size      : 0 KB                                                          
    fdiv_bug        : no                                                            
    hlt_bug         : no                                                            
    f00f_bug        : yes                                                          
    coma_bug        : no                                                            
    fpu             : no                                                            
    fpu_exception   : no                                                            
    cpuid level     : 1                                                            
    wp              : yes                                                          
    flags           :                                                              
    bogomips        : 20.21                                                        
    clflush size    : 32      

    :)

     
  • 1.220, qetu (?), 07:47, 19/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    П**дец. Я давно подозревал что создатель ffmpeg титан, но что он же и создатель tcc, qemu и т.п. - это уже ни в какие ворота. Штучный товар, Микеланджело программирования, что совсем удивительно для математика
     
     
  • 2.229, Аноним (-), 18:09, 23/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ты, очевидно, забыл Дональда Кнута и Никласа Вирта. Тоже мне, Микеланджело.
     
     
  • 3.232, guns (?), 16:18, 26/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты, очевидно, забыл Дональда Кнута и Никласа Вирта. Тоже мне, Микеланджело.

    черепашки-ниньзя?

     

  • 1.225, rihad (?), 22:58, 19/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Полный респект и поклон. Уникум.
     
  • 1.226, rihad (?), 09:46, 20/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Полных JS сорсов эмулятора, загрузчика и описания как это все вместе складывается пока не представлено?
     
  • 1.233, anon ymous (?), 13:36, 02/08/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пфффффф! На яваскрипте! Скоро Денис Попов зарелизит ВМ на чистом HTML))))
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    MIRhosting
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру