URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 109879
[ Назад ]

Исходное сообщение
"Проект Browsix, развивает окружение для запуска Unix-програм..."

Отправлено opennews , 12-Дек-16 19:19 
В рамках проекта Browsix (https://browsix.org/) развивается фреймворк для обеспечения работы обычных Unix приложений в web-браузере. Особенностью разработки является то, что немодифицированные программы запускаются как процессы в специальном Unix-подобном окружении, транслирующем средства для работы с процессами, ФС, сигналами и сокетами в браузерное Web API. Исходные тексты проекта написаны (https://github.com/plasma-umass/browsix) на языке TypeScript и распространяются под лицензией MIT.


Поддерживается запуск программ, написанных на C, C++, Go и Node.js, например, успешно продемонстрировано выполнение в браузере LaTeX, GNU Make, HTTP-серверов на языке Go и shell-скриптов. Основу Browsix составляет ядро, написанное на TypeScript и реализующее базовые системные вызовы и возможности Unix-систем. Ядро обеспечивает запуск процессов, собранных с использованием подготовленных для разных языков программирования runtime-библиотек. Процессы выполняются параллельно, не блокируя выполнение работу страницы.


Низкоуровневые примитивы Unix зеркалируются в существующие браузерные API, что позволяет огранизовать выполнение немодифицированных приложений, пересобранных в представление на JavaScript со специальным runtime, в изолированном браузерном окружении как обычных web-приложений. Для компиляции программ C/C++  применяется модифицированный Emscripten (https://github.com/bpowers/emscripten/tree/_browsix), а для Go - GopherJS (https://github.com/bpowers/browsix-gopherjs). Управление работой программ производится по аналогии с процессами в Unix - вначале загружаются базовые компоненты Browsix, инициализируется дерево ФС и запускаются процессы. Пользователи могут подключиться к предоставляемому Browsix TCP-порту и создавать обработчики событий, таких как запись в стандартный выходной поток или завершение процесса.


Работа с процессами реализована на базе API Web Workers, через которой в том числе симулируются системные вызовы fork, spawn, exec, и wait. Программам также предоставляются сигналы, обработчики сигналов, совместно используемая несколькими процессами файловая система, неименованные и именованные каналы (pipe), сокеты (можно создавать серверные и клиентские TCP-соединения).


В качестве демонстрации возможностей Browsix подготовлено (https://unix.bpowers.net/) POSIX-подобное окружение командной строки, предлагающее shell и типовые утилиты, такие как cat, tee, echo, sha1sum и т.п.


URL: https://browsix.org/
Новость: https://www.opennet.ru/opennews/art.shtml?num=45665


Содержание

Сообщения в этом обсуждении
"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Ivan_83 , 12-Дек-16 19:19 
Очередная игрушка.
Лучше бы повыкидывали с браузеров мусор не нужный чтобы они быстрее пахали и жрали меньше.

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено A.Stahl , 12-Дек-16 19:45 
И куда потом девать 6 млн яваскриптистов? С таки вещами нельзя торопиться...

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Кот Летова , 12-Дек-16 22:11 
Не выдержав нагрузки, сломался завод по сжиганию яваскриптщиков.

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено solomon243 , 12-Дек-16 22:19 
В этом трудно признаться, трудно поверить, но...

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено анонимус , 12-Дек-16 21:27 
>Лучше бы повыкидывали с браузеров мусор не нужный чтобы они быстрее пахали и жрали меньше.
>Лучше бы

Кому лучше? 99% пользователей браузера, которым браузер по сути заменил большую часть софта благодаря своим мультимедийным возможностям и прочим наворотам? Почему бы нетерпеливым (кому медленно) и бедным (у кого компьютер 10 летней давности) не решить эту проблему для себя, создав, наконец, браузер мечты?


"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Ivan_83 , 12-Дек-16 21:51 
У меня как раз коредуо е8400 почти десятилетней давности, и мне хватает.
Покупать комп по мощнее - так раз ты такой умный подкинь мне и всем остальным страждущим деньжат.

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


"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено анонимус , 12-Дек-16 23:02 
>>Покупать комп по мощнее - так раз ты такой умный подкинь мне и всем остальным страждущим деньжат.

Умный я, а подкидывать деньжат должен тебе? Интересная "логика".
То большинство должно подстраиваться под меньшинство, то деньжат тебе подкинуть. А может все-таки страждущие сделают себе сами, что им надо, а не будут требовать удовлетворения своих странных запросов за чужой счет? Реалии конца 2016 года таковы, что браузер - это не просто просмотрщик гипертекста, он заменяет кучу когда-то дескоптного софта. Lynx из интернета никто не удалял.


"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Ivan_83 , 13-Дек-16 03:02 
Раз денег нет то не стоило и начинать.
Со своими мегаидеями и тормозным говнокодом и такими уродскими сайтами лучше сидеть дома и дальше греть воздух в квартире а не шлятся по инетам принуждая других к преждевременным апгрейдам и бессмысленным тратам на железо.

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Sen , 14-Дек-16 17:33 
зачем нужно заменять кучу быстрого и хорошо работающего софта на непроворотливое *авно? Ведь в браузер пихают всё что ни лень. Да оно кажется удобным, но на самом деле оно тормозит развитие технологий. Вместо того чтобы писать хорошие и быстрые программы выжимая из железа всё, теперь горе программисты сидят и ноют, что Intel никак не может создать быстрого процессора для их гореидей, хотя напиши это всё на нормальном языке, с процессорной оптимизацией и, о чудо, всё летало бы и сверкало... А так... тьфу... JS для недоучек...

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено анонимус , 12-Дек-16 23:36 
> Полный маразм пытаться запускать виртуалки, бинарники и прочее в браузере, он не
> для этого и затачивать его для этого это тупость несусветная, один
> хер он никогда не приблизится ни к куему/виртуалбоксу ни реальному железу
> по скорости выполнения.

Я отвечал на вполне конкретную реплику из твоего комментария, по поводу этих виртуальных браузерных машин я не сказал ничего. Я лишь задал вопрос: для кого это будет лучше, по твоим словам, если из браузера выкинут лишнее, сделав их быстрыми и маложрущими, с учетом того, что в возможностях они при этом тоже значительно потеряют.


"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Ivan_83 , 13-Дек-16 03:14 
Практика показывает что большое разнообразие часто идёт во вред.
Современный веб с кучей тэгов в хтмл, цсс, жабаскриптом и прочими вещами стал невероятно громозгим и глючным.
Если посмотреть на тот же фф лет 8 назад то он был (на мой взгляд обычного читателя-смотрителя веба) ничем не хуже.
Из доступных мне примеров: си и си++. Первый простой и могучий, где всё что нужно реализуется в либах или ручками самостоятельно, второй мостр у которого всё тянут внутрь и которого в итоге мало кто знает и понимает.

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено анонимус , 13-Дек-16 20:53 
>Практика показывает что большое разнообразие часто идёт во вред.

Кому во вред? Подавляющему большинству простых пользователей это исключительно на пользу, т.к. новые rich web applications позволяют им делать львиную долю своих дел, не выходя из браузера. Исключительным уникумам, вроде тех, кто посылает себе html на почту ничего не мешает продолжать в том же духе. А еще лучше быть хардкорными технарями не только на словах, а и на деле тоже - собраться и запилить браузер мечты.

>>Современный веб с кучей тэгов в хтмл, цсс, жабаскриптом и прочими вещами стал невероятно громозгим и глючным.

Если посмотреть на тот же фф лет 8 назад то он был (на мой взгляд обычного читателя-смотрителя веба) ничем не хуже.

Для чистоты эксперимента стоит это делать так же на сайтах 8 летней давности. Не замечаю никаких тормозов на сайтах, сделанных с умом или на раритетах 10+ летней давности. Опеннет тому пример. Дело не в браузере, дело в сайте.


"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено azure , 13-Дек-16 18:25 
А для чего, простите, браузер?
Браузер - это не просмотрщик видео. Выпилить поддержку видео?
Браузер - это не аудиоплеер. Выпилить поддержку аудио?
Браузер - это не редактор документов. Запретить гуглдоки!
Так, по-вашему, получается?

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Васёк , 12-Дек-16 20:26 
Ос идёт в браузер… Не круто

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Аноним84701 , 12-Дек-16 20:32 
Я так понимаю, HyperTerm (терминал на JS) был не достаточно хипстотен )

Демку я не осилил:
https://unix.bpowers.net/


$ ls
Error while executing undefined: SyntaxError: Invalid character: '`'
$ cd ~
/usr/bin/cd: command not found
$ echo 1
Error while executing undefined: SyntaxError: Invalid character: '`'

Ну и как ему передавать таб, ^D ^Z ^C и т.д. тоже не очень понятно. Разве что патчить браузер или перекостыливать на что-то другое.

> Низкоуровневые примитивы Unix зеркалируются в существующие браузерные API, что позволяет огранизовать выполнение в изолированном браузерном окружении немодифицированных приложений, пересобранных в представление на JavaScript со
> специальным runtime.

Угу, только  по ресурсам, а заодно и отзывчивости (не говоря уж о качестве эмуляции) проще запустить с дюжину полноценных виртуалок, чем одно такое "окружение".


"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Вадик , 12-Дек-16 21:08 
$ ls
README
bin
boot
index.json
usr
$

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Урри , 14-Дек-16 16:01 
Но cd все равно не пашет.

$ ls
README
bin
boot
index.json
usr
$ cd /
/usr/bin/cd: command not found
$ ls -l
README
bin
boot
index.json
usr
$ cd
/usr/bin/cd: command not found
$


"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Аноним , 14-Дек-16 20:38 
$ ls usr/bin/
cat
cp
curl
echo
exec
grep
head
ld
ls
mkdir
nice
node
rm
rmdir
sh
sha1sum
sort
stat
tail
tee
touch
wc
xargs
$

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено Michael Shigorin , 12-Дек-16 21:34 
А links там работает, или опять по сети телнетом шариться?

"Проект Browsix, развивает окружение для запуска Unix-програм..."
Отправлено paulus , 12-Дек-16 21:49 
Рассчитано в основном скорее только для хромос, не более. imho

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Pahanivo , 12-Дек-16 22:01 
Чето я перестаю понимать этот мир ...

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Аноним , 12-Дек-16 22:15 
Им даже до Wine или Darling не дотянуть.
Про второй тут даже не слышали никогда, вопрос почему?
Потому что нет денег на эпплы, ясное дело.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Аноним , 13-Дек-16 11:52 
Сначала запусти под дарлингом графло, а потом уже расскажешь про деньги. Кстати, а что за железяка тут у меня лежит?

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Андрей , 12-Дек-16 22:18 
Те, которые не участвуют в конкурсах по запутанному программированию на Си, идут запутывать весь мир в браузер.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Аноним , 12-Дек-16 22:28 
Я категорически против этой проруби в безопасности.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Аноним , 12-Дек-16 23:21 
Вот когда виртуалку с виндой и коллофдюти можно будет запустить внутри фаерфокса, запущенного внутри хрома, тогда и поговорим.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено user , 12-Дек-16 23:44 
Главный вопрос - в какой слой засунут DRM и прочую эмуляцию ненужного телевизора.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Аноним , 13-Дек-16 00:36 
DRM и виртуализация на всех уровнях, ессно.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Аноним , 13-Дек-16 00:04 
Осталось прикрутить xterm.js и можно запускать программы на *curses.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Аноним , 13-Дек-16 00:35 
Ждем клиент Skype на базе Electron, запущенный в браузере. Для пущего эффекта.

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено ram_scan , 13-Дек-16 16:03 
> Ждем клиент Skype на базе Electron, запущенный в браузере. Для пущего эффекта.

Так skype4web от производителя же. Не через электрон, но типа вполне уже.


"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Sfinx , 13-Дек-16 06:06 
Белларда им не перплюнуть http://bellard.org/jslinux/

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено 1 , 13-Дек-16 08:52 
Там принцип другой, эмуляция х86, а тут перекомпиляция чем-то типа эмскриптена плюс эмуляция сисколлов

"Проект Browsix развивает окружение для запуска Unix-программ..."
Отправлено Бутират , 13-Дек-16 09:46 
Наконец-то можно выкинуть богомерзкий js и писать клиент/сервер на баше