среда, 20 мая 2009 г.

Софт: Часть 1. Полезности

Вам может показаться, что операционная система Inferno это настолько нишевый продукт, что стороннее ПО для нее либо вообще не существует, либо предназначено для выполнения узкоспециализированных задач, необходимость в которых может понять только специалист. На самом деле это не так, есть как минимум пять регулярно обновляемых источников программного обеспечения для Inferno, с одним из которых мы сегодня ознакомимся.

Mechaiel Lukkien поддерживает ресурс www.ueber.net, на котором регулярно публикует ПО для Inferno собственной разработки. Вот список того, что можно найти на его сайте:

kirkwood - порт Inferno на SoC-платформу kirkwood компании Marvell (в разработке).
hgfs - сервис, предоставляющий доступ к репозиториям Mercurial через протокол styx.
hgweb - веб-интерфейс к hgfs (написан на Limbo!).
nfssrv - NFS-сервер для Inferno (нестабилен, поддерживает только третью версию протокола).
pdfread - пакет библиотек и утилит для чтения pdf-файлов.
ircfs - виртуальная файловая система для работы с IRC-протоколом (в комплекте библиотека и графический IRC-клиент).
ssh - SSH-клиент (неполная реализация).
textmangle - утилита для преобразования текстовых файлов, содержащих специальные символы форматирования, в html, latex или troff.
httpd - полнофункциональный и полностью следующий стандартам HTTP-сервер. Ему будет посвещена отдельная статья.
http - HTTP-библиотека с поддержкой SSL и простой HTTP-клиент.
scgid - фоновый демон, обслуживающий SCGI-запросы через запуск внешних программ.
web - набор web-утилит и библиотек (генерация HTML, разбор запросов CGI, генерация RSS и т.п.).
webdavfs - виртуальная файловая система, импортирующая ресурсы по протоколу WebDAV.
cryptfile - средство шифрования файлов.
lyricd - сервер, производящий поиск текстов песен по множеству ресурсов, и набор клиентов к нему.
ventisrv - Venti-демон. В одном из ближайших постов мы поговорим о системе Venti.
hdict - клиент протокола dict (поиск по словарям).
attrfs - интерфейс файловой системы к attrdb(6).
playfs - файловая система для создания и обработки плейлистов и простая графическая программа для их отображения и проигрывания (используя команду mpg123 низлежащей ОС).
httptun - программа для создания HTTP-туннелей.
games - игра blobslay.

5 комментариев:

  1. > В одном из ближайших постов мы поговорим о системе Venti.

    хотелось бы также обзоров и сравнений, вроде
    http://doc.cat-v.org/plan_9/misc/foundation/

    ОтветитьУдалить
  2. > вам может показаться, что операционная система Inferno это настолько нишевый продукт, что
    стороннее ПО для нее либо вообще не существует, либо предназначено для выполнения
    узкоспециализированных задач

    Caerwyn в своём блоге в одной лабе писал про подключение VX32 из Inferno. То есть, под Inferno
    существует любой C софт, доступный через sandbox VX32.
    Bryan Ford в работе про Plan9 VX сравнивал производительность VX32/VmWare/native кода.

    ОтветитьУдалить
  3. 1. Vx32 для inferno глупость и кощунство. Caerwyn прицепил его к inferno только ради a) интереса б) чтобы показать, что в inferno можно исполнять Си-код,
    2. Никакой Си-софт под Inferno не доступен, vx32 всего-лишь фреймворк. Чтобы сделать из него sandbox требуется создать целый API для исполняемых внутри приложений. Caerwyn реализовал только несколько системны вызовов inferno для vx32. Существуют наборы API для vx32, воссоздающие наборы системных вызовов Plan9 и Linux поверх UNIX, если кто-то портирует их реализацию в Inferno (что не просто) - тогда да, можно будет запускать бинарники plan9 или небольшой набор бинарников Linux.
    3. В силу своего дизайна, основанного на использовании сегментных регистров x86 для изоляции исполнямого кода, vx32 способен работать только на x86 платформе и только в 32-битном режиме.

    Про обзоры и сравнения. Посмотрим, возможно в будущем сделаем перевод.

    ОтветитьУдалить
  4. 1. ссылка http://www.caerwyn.com/ipn/2009/01/lab-92-vxinferno.html

    да, кощунство и ересь -- но результат-то какой: работает си код в рамках, поддерживаемых фреймворком. С примерами посложнее hello world я так понимаю, никто не тестировал на полноту реализации сисколлов.

    2. есть plan 9 vx. Не факт, что оно сразу заработает под inferno по аналогии с примером caerwyn'а, но примерно понятно что нужно реализовать чтобы заработало, осталось начать да кончить и оттестировать

    у Bryan'a Ford'a есть другая интересная публикация, про VXA (вроде SFX-архивов, но под VX32). Напрашивается идея скрестить их с Inferno.

    Кроме того, побочный эффект Plan 9 VX в том, что ему не нужны native Plan 9 драйвера, можно использовать драйвера из линукса. Или использовать линуксовый софт с Plan 9 пространством имён.

    3. А что значит здесь http://hg.pdos.csail.mit.edu/hg/vx32/rev/cabb6628a126
    надпись "9vx: Linux/x86-64 works" ? работает под x86-64 в 32-битном режиме?

    ОтветитьУдалить
  5. 1. Реализовано 7 сисколов.
    2. А зачем? Plan9vx работает поверх unix, inferno тоже, поставить их рядом и пусть работают да цепляются друг к другу через 9p :)
    3. Да.

    Мне самому очень нравится идея vx32, но как мне кажется, если нужно запустить что-то си-нутое, то лучше засунуть это во встроенный модуль.

    ОтветитьУдалить