The OpenNET Project / Index page

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

Релиз операционной системы Inferno 0.4 для Raspberry Pi

08.12.2015 16:51

Вышла новая версия операционной системы Inferno OS для одноплатного компьютера Raspberry Pi. Выпуск примечателен значительным увеличением производительности после устранения ошибки в планировщике задач и оптимизацией загрузки, которая теперь занимает около 1 секунды.

Напомним, что ОС Inferno была создана в Bell Labs по заказу компании Lucent и увидела свет в 1995 году. Она основана на коде операционной системы Plan 9 и дополнена виртуальной машиной Dis, приложения для которой написаны на языке Limbo, предке языка Go. В основе Inferno лежит идея об использовании файлов для представления всех ресусов операционной системы, начиная от устройств и заканчивая окнами графического интерфейса и буфером обмена. Обрабатывать запросы доступа к таким файлам может не только ядро ОС, но и обычные приложения, а для передачи запросов используется сетевой протокол 9P. Благодаря этому любой ресурс операционной системы можно экспортировать на удаленную машину. ОС доступна для множества архитектур, а также может работать в среде Linux, *BSD, OS X, Solaris, Windows и других ОС. Подробнее об Inferno на русском можно узнать в Inferno Wiki.

  1. Главная ссылка к новости (http://lynxline.com/inferno-rp...)
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/43474-inferno
Ключевые слова: inferno
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (22) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 16:56, 08/12/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Ух ты, загрузка за одну секунду на raspberry!
    Ну чем это не система мечты? :)
     
     
  • 2.2, Аноним (-), 17:31, 08/12/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    К тому же основа - Plan 9. Ваще конхвэтка!
     

  • 1.3, Аноним (-), 18:14, 08/12/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    новость крайне занимательная, но есть ли у инферны задачи?
     
     
  • 2.4, Munk (??), 18:40, 08/12/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Конечно есть, почитайте замечательные статьи powerman: http://powerman.name/doc/Inferno/
     
     
  • 3.26, Онаним (?), 20:02, 13/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за очень интересную ссылку.
     
  • 2.9, Аноним (-), 02:47, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я студента одного своего сподвиг опробовать в рамках курсовой работы - он был доволен как слон, особенно бесшовным переносом задач между компьютерами. И это избалованный виндой пользователь.
     
     
  • 3.10, Классический Анонимус (?), 05:29, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Даже вики их не читал, но почему-то упорно кажется, что если некий механизм позволяет что-то бесшовно запускать на других ПК и в то же время через него же идёт работа на локальной системе, это будет работать медленно на локальной системе и совсем безобразно на удаленной.

    Неспроста жж всякие rdp/vnc придумывали монструозные (и то нюансов много).

     

  • 1.11, Легион (?), 08:00, 09/12/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Неспроста жж всякие rdp/vnc придумывали монструозные

    И рдипи и виэнси абсолютно не монструозны. Рекомендую заглянуть в код, к примеру, rdesktop.

     
     
  • 2.12, Классический Анонимус (?), 12:18, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    pactree freerdp|wc -l
    363

    pactree rdesktop|wc -l
    171

     

  • 1.13, XAnder (ok), 12:37, 09/12/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня не взлетела сразу. Жаль :-(

    [code]
    ARM 700 MHz id 410fb767 firmware: rev 1393004686, mem: 496
    Inferno OS Fourth Edition (20151010) Vita Nuova
    Ported to Raspberry Pi (BCM2835) by LynxLine

    Starting init0()
    Initial Dis: "/osinit.dis"
    [Init] Broken: "sys: trap: fault pc-040769e4"
    [/code]

    Raspberry Pi, модель B. Буду разбираться, штука-то интересная.

     
     
  • 2.14, yshurik (??), 12:49, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я пока модель B с 512MB не тестировал.
    Можно попробывать покрутить gpu_mem в config.txt
    Поставить побольше 32 или 64.
     
     
  • 3.15, XAnder (ok), 13:28, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Я пока модель B с 512MB не тестировал.

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

    > Можно попробывать покрутить gpu_mem в config.txt
    > Поставить побольше 32 или 64.

    Спасибо, попробую.

     
     
  • 4.16, yshurik (??), 15:12, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Я пока модель B с 512MB не тестировал.
    > А какие тестировали? Если что, могу погонять что-нибудь на своей для пользы
    > дела.

    Я гоняю ее на еще самой старой rpi 256mb.
    Скоро думаю дойдут руки и до zero попробывать.


     
     
  • 5.18, www2 (ok), 18:40, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "ПопробЫвыть"?
     
  • 3.17, XAnder (ok), 18:07, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Я пока модель B с 512MB не тестировал.
    > Можно попробывать покрутить gpu_mem в config.txt
    > Поставить побольше 32 или 64.

    С 32 похожая ошибка + вывод содержимого регистров

    С 64 система загрузилась. Виден рабочий стол. Можно запускать программы. Но всё тормозит просто инфернально :-) Acme зависает при запуске. Man'ом пользоваться нереально. При попытке увеличить размер любого окна посреди экрана появляются разнообразные сообщения об ошибках, а окно теряет отзывчивость. Не нашёл, как штатным образом выключить систему. Лажают клавиатура и мышь. Местный WM - отдельная тема.

    Но в целом радует! Необычно, свежо, есть что поизучать. Концепция системы интересна, а интерфейс - дело наживное. Загрузка за секунду (и это в графику, и это на тормозной машине) - действительно так, моё почтение!

     
     
  • 4.19, yshurik (??), 18:59, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я догадываюсь в чем дело, в mmu гуляла константа DRAMSIZE в 256 мб так что mmu инициализирует только 256 мб.

    Графика вся через framebuffer. Тормозить будет обязательно, чтобы не тормозило надо добираться к videocore.

    Также память разделена жестко на heaps. Есть imageheap в котором вся графика. Он заканчивается - окна не ресайзятся.

     
  • 4.20, Андрей (??), 21:18, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Загрузка за секунду (и это в графику, и это на тормозной машине) - действительно так, моё почтение!

    Был уверен, что будет как с systemd на линуксе (мотивировка которого, если не ошибаюсь, была изначально: моментальная загрузка, т.к. он очень умно зависимости распределяет). Т.е. первый попробовавший отпишится, что никакая ни одна, а ... Вот это да! Так это правда! Раз за инферно. А "чистый" Plan 9 на распи [1] пробовали? Эх, жаль, образ от 29 марта 2015. Не очень стар, но подозрительно насчёт продолжения развития.

    [1] http://plan9.bell-labs.com/sources/contrib/miller/9pi.img.gz

     
     
  • 5.25, XAnder (ok), 17:52, 10/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот это да! Так это правда! Раз за инферно. А "чистый"
    > Plan 9 на распи [1] пробовали? Эх, жаль, образ от 29
    > марта 2015. Не очень стар, но подозрительно насчёт продолжения развития.
    > [1] http://plan9.bell-labs.com/sources/contrib/miller/9pi.img.gz

    Попробовал. Работает. Грузится секунд 20, не считая ручного ввода даты. Тормозов не заметил, всё шустро. Никаких глюков, виденных под Инферно, не наблюдаю. Правда интерфейс сильно на любителя. Чем-то напоминает ОС Оберон, с которой я немного работал студентом лет 15 назад и уже основательно подзабыл. В общем, ничего полезного сделать пока не смог, надо разбираться.

     

  • 1.21, Андрей (??), 21:19, 09/12/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо за новость. Что лично меня интересует касательно Plan9/Inferno@raspi, так это производительность GPIO. Позволяет ли ядро получить действительно прямой доступ без каких-либо обёрток? Чтобы, например, использовать как радио-транслятор (~ 100 МГц) и логический анализатор (~ 25-40 МГц)?

     
     
  • 2.22, yshurik (??), 21:37, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо за новость. Что лично меня интересует касательно Plan9/Inferno@raspi, так это производительность
    > GPIO. Позволяет ли ядро получить действительно прямой доступ без каких-либо обёрток?
    > Чтобы, например, использовать как радио-транслятор (~ 100 МГц) и логический анализатор
    > (~ 25-40 МГц)?

    Есть сомнения, 100МГц это всего семь тактов cpu на один такт, 25МГц на gpio это уже 28 тактов cpu, логика с выводом или вводом в gpio разве уложится в 28 арм команд?

     
     
  • 3.23, Андрей (??), 22:26, 09/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть сомнения, 100МГц это всего семь тактов cpu на один такт,

    У людей как-то получилось [1] декодировать mp3 и выводить через специальный pwm gpio, т.е. это скорее трюк (в плане "МГцов"), поэтому я выделил его отдельно. Вопрос был, не будет ли ядро мешать: ведь и так сложно.

    > 25МГц на gpio это уже 28 тактов cpu, логика с выводом или вводом в gpio разве уложится в 28 арм команд?

    У людей получается. Например, [2], 22 MHz [3] с кодом [4] (а с RPi 2 вообще 41 MHz [5]). По-моему, ядро должно предоставлять прямой доступ к памяти, куда и замапены gpio. Сколько останется для полезной обработки, это уже второй вопрос. Понятно, что это будет урезанный анализатор. Но когда нужно не получить полный дамп, а просто бысло слушать, и выводить только редкие данные (только интересующее событие), то, вроде как должно помочь.

    [1] http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_F
    [2] http://d-fence.sytes.net/raspberry-pis-gpio-speed/
    [3] http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/
    [4] https://github.com/jokkebk/rpi-gpio-benchmark
    [5] http://codeandlife.com/2015/03/25/raspberry-pi-2-vs-1-gpio-benchmark/

     
     
  • 4.24, yshurik (??), 11:52, 10/12/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я посмотрел [1]. Да, там просто gpio 4 соединяется напрямую с системным таймером 100МГц. А уже код делает FM модуляцию меняя настройки этого системного таймера. Для звука его надо менять скажем всего 20КГц.

    Я игрался раньше с таймерами я ядром. То что я видел - ядро успевает сделать все свои дела и за 10 мкс. (По умолчанию portclock срабатывает с мин 100 мкс и макс 10 милисек). Так что возможно модулировать и до 100КГц без провалов от ядра.

    Что сейчас может помешать - графика в  инферно сейчас на уровне ядра а так как графика через framebuffer то она тормозит. Так что если есть желание вкрутить FM радио в inferno ядро, то делать это без графики :).

     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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