Консорциум из четырех хорошо известных компаний — Intel, NXP, Synopsys и UbiquiOS под эгидой Linux Foundation создал Zephyr Project — легкую, масштабируемую операционную систему реального времени, предназначенную для работы на устройствах с ограниченными ресурсами различных архитектур и распространяемую под лицензией Apache 2.0. Теперь у создателей различного рода встроенных решений и компонентов «Интернета вещей» есть универсальная, вендоро-независимая и гибкая программная платформа реального времени с открытым исходным кодом, главная идеология которой — максимальная экономия ресурсов.
Основные особенности Zephyr таковы:
  • Единое адресное пространство. Специфичный код приложения в сочетании с кастомным ядром создают монолитный образ, исполняемый на устройстве.
  • Большие возможности настройки. Приложение получает только те возможности, которые ему нужны и когда они ему нужны.
  • Ресурсы определяются во время компиляции. Это уменьшает размер кода и увеличивает производительность.
  • Минимальный контроль ошибок. Служит для того же самого. При этом во время тестирования есть возможность получать полную отладочную информацию.
  • Богатый набор возможностей для разработчика: многопоточность, контроль прерываний, внутрипотоковая синхронизация, средства для работы с памятью, управление питанием и многое другое.

В настоящее время уже доступны как само ядро Zephyr, так и SDK для разработки под него. Список поддерживаемых плат (который, несомненно, будет расширяться) можно найти на странице документации.

Комментарии (20)


  1. MrJeos
    03.03.2016 11:05
    +17

    Хоть бы расписали, что из себя представляет эта ОС. А то просто какой-то твит получился.


  1. tenbits
    03.03.2016 12:03

    А что значит "ОС-система-платформа реального времени"? И какие есть ОС не реального времени, и в чем их разница?


    1. saul
      03.03.2016 12:13

      Это большая тема, в двух словах не объяснишь. Начать изучать можно с вики


      1. tenbits
        03.03.2016 12:18

        Спасибо, а могли бы ещё на второй вопрос ответить? Хотя конечно может и дурацкий вопрос, но всё же — какие есть ОС не реального времени и в чем разница?


        1. gearbox
          03.03.2016 15:27

          ответили ниже + дополню — реал тайм OS дает ГАРАНТИРОВАННОЕ время отклика на событие. В этом вся разница. Обычная ось этого не может. если в быту это не заметно (или заметно по лагам гуя но никто же не умер) то в некоторых отраслях это критично (ядерные объекты всякие если не ошибаюсь в медицине было использование QNX)


          1. tenbits
            03.03.2016 15:39

            Спасибо, такого ответа я и ожидал. В одном приложении понятен замысел, и когда перечитываешь реализацию, много становится понятно, зная для чего всё это.


        1. cold147
          04.03.2016 01:14
          -2

          какие есть ОС не реального времени

          Самое популярное vista.


    1. Indemsys
      03.03.2016 16:14

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


      1. tenbits
        03.03.2016 16:27

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


        1. HomoLuden
          04.03.2016 16:03

          Ситуация обратная… Суть RTOS в том, что она попытается в шишки расшибиться, чтоб выдержать с точностью до миллисекунды заданное вами расписание, если железный таймер выдает с миллисекундами прерывание.

          Если у вас два потока с одним приоритетом должны сработать точно в одно время, тогда ситауция усложняется. Это нужно разруливать на уровне прописывания вами пауз в коде.

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


          1. olekl
            04.03.2016 18:01

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


  1. saul
    03.03.2016 13:00

    Дополнил пост. А комментарии куда-то потерялись :(


  1. saul
    03.03.2016 13:03

    tenbits, почти все существующие ОС — не реального времени. Реалтайм ОС — очень специфичная штука и очень сложная внутри.


    1. olekl
      03.03.2016 16:53
      +2

      Или наоборот, очень простая. Серьезно.


    1. valexey
      03.03.2016 19:31
      -2

      В первую очередь специфичная, реалтаймовость снижает производительность ОС в среднем. Для выполнение той же задачи реалтайм оси нужно более мощное железо.


  1. olekl
    03.03.2016 15:24

    И чем оно лучше FreeRTOS например?


    1. Indemsys
      03.03.2016 16:23
      +1

      Видимо тем, что имеет продвигаемый Intel протокол CoAp с защищенным транспортным уровнем с использованием DTLS (Datagram Transport Layer Security). А в остальном операционка очень слабая. Нет GUI, нет файловых систем ни одной,… можно сказать голая.


      1. olekl
        03.03.2016 16:56

        Больше похоже на попытку концепт из "старших" микроконтроллеров CortexA и Линукса перетащить на микроконтроллеры попроще. Оставив разделение на ОС и приложение, в отличие от той же FreeRTOS и ей подобных систем, которые по сути является частью приложения… На первый взгляд мне не понятно, зачем это может быть нужно...


        1. Indemsys
          03.03.2016 17:51

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

          Не увидел нигде в исходниках Zephyr возможности загрузки приложений.
          Там монолитное firmware как обычно для микроконтроллеров.
          Линкуется все в один бинарный образ.

          Там я вообще не увидел никакой связи с линуксом кроме того что собирается все в GCC.


    1. aronsky
      03.03.2016 21:21
      -1

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