Ядро и драйверы NetBSD скомпилированы в JavaScript для запуска в web-браузере Один из разработчиков NetBSD провёл интересный эксперимент, в полной мере продемонстрировавший гибкость средств портирования NetBSD под новые платформы. Используя Emscripten, в представление на языке JavaScript было скомпилировано изначально написанное на языке Си ядро NetBSD и набор связанных с ним драйверов. Таким образом была добавлена поддержка новой архитектуры "sys/arch/javascript", подразумевающей возможность запуска ядра NetBSD под управлением web-браузера. В отличие от проекта JSLinux, в рамках которого написан полноценный эмулятор ПК, способный загрузить Linux, порт NetBSD имеет определённую практическую направленность. Целью разработки является обеспечение компиляции в JavaScript отдельных драйверов NetBSD с возможностью обращения к их функциям из JavaScript-приложений. Например, можно создать web-сервис, способный напрямую работать с образами файловых систем, используя скомпилированные в JavaScript драйверы NetBSD. Для демонстрации озвученной идеи подготовлен рабочий прототип подобного web-сервиса, способный работать с системными образами в формате FFS. Выполняемый в браузере демонстрационный образ ядра NetBSD с поддержкой FFS, Tmpfs и kernfs, а также минимальное системное окружение NetBSD можно загрузить на данной странице (5 Мб). Прототип сервиса может быть выполнен в любом современном web-браузере, за исключением Internet Explorer. Сервис позволяет передавать запущенному в браузере ядру произвольные команды и просматривать результат их выполнения. При запуске демонстрации осуществляется загрузка образа файловой системы FFS (rump.data), запуск ядра NetBSD и монтирование FFS-раздела, после чего можно выполнить произвольные команды в интерактивном режиме. Ядро собрано в режиме RUMP (Runnable Userspace Meta Program), позволяющем организовать выполнение частей ядра в адресном пространстве пользователя. В частности, Rump позволяет в виде оформленного в стиле микроядра серверного процесса выполнять в пространстве пользователя драйверы, изначально работающие на уровне монолитного ядра системы. По сути rump-ядро является частично паравиртуализированным ядром, запускаемым поверх высокоуровневного гипервизора. Указанная возможность позволяет легко портировать NetBSD под различные системы, так как по сути для обеспечения работы rump-ядра достаточно подготовить для платформы только соответствующий небольшой гипервизор. В рассмотренном эксперименте rump-гипервизор был написан для браузерного JavaScript движка (гипервизор был написан на Си на базе стандартного POSIX-гипервизора), после чего гипервизор, ядро и компоненты NetBSD были преобразованы в JavaScript в автоматическом режиме при помощи компилятора Emscripten. 08.11.2012 http://www.opennet.ru/opennews/art.shtml?num=35268 http://blog.netbsd.org/tnf/entry/kernel_drivers_compiled_to_javascript
Как перевезти 10 тонн песка с места на место? Раньше: засыпать песок в грузовик и перевезти. Сейчас: прокопать туннель до места, в туннель пустить поезд с платформами, поверх платформ положить асфальт, на асфальт поставить грузовики с огромным желобом, в котором будет плавать корабль, на корабль положить рельсы, поставить ж\д платформу, на которую поставить грузовик с песком и так этот злополучный песок перевозить. Лучше про подобное извращенство не скажешь.
Не-не-не, спредставь ОС, которая будет крутиться в браузере на любом железе. Это будет прорыв и кто-то срубит дофига бабла на этом.
ну вообще то он прав) Слишком много ресурсов уйдёт в никуда. Как эксперимент прикольно, но серьёзно к этому вряд ли стоит относиться) У нас и так хватает софта и ОС бездарно сжирающих ресурсы железа. Вон на wave 525, в качестве примера, там находится спец.приложение для ютуба, потому как в браузере этой хилой машинке флэш не потянуть. Ладно чёрт с ним. Дык и в остальном этот мобил тоже тормозит. Это не смотря на то что он мощнее ноклы 3250, которая работала на частоте 200мгц и этого хватало с головой! Правда и онлайн видео тогда особо не смотрел, давно это было... Итог прост. Время с 3250 вспоминаю с удовольствием, с 525м одна матершина... -- С другой стороны из браузера может получиться "виртуалка" с приличными возможностями. Естественно если его оптимизировать под данную платформу.