Организация Linux Foundation анонсировала (http://www.linuxfoundation.org/news-media/announcements/2016... новый совместный проект Zephyr (https://www.zephyrproject.org/), в рамках которого ведётся разработка новой компактной Real-Time операционной системы, предназначенной для оснащения устройств, соответствующих концепции "Интернет вещей (https://ru.wikipedia.org/wiki/%D0%98%D0%... (IoT, Internet of Things). Наработки проекта поставляются под лицензией Apache 2.0.
В настоящее время для загрузки доступны первый выпуск ядра Zephyr Kernel 1.0 (https://www.zephyrproject.org/content/zephyr-kernel-v100-rel... и набор Zephyr SDK (https://www.zephyrproject.org/content/zephyr-sdk-v072), включающий инструменты и кросс-компиляторы для сборки ядра для различных аппаратных платформ. Система адаптирована для установки на платы (https://www.zephyrproject.org/doc/board/board.html) на базе архитектуры x86 (Arduino 101, Quark D2000 CRB, Galileo Gen1/Gen2, Minnowboard Max), ARMv7 (Arduino Due, Freescale FRDM-K64F) и ARC (Arduino 101), а также для тестирования в эмуляторе на базе QEMU. В состав SDK входят: GCC, binutils, gdb, libgcc, newlib, Python 2.7, QEMU, GNU Make и OpenOCD (Open On-Chip Debugger).
Ядро рассчитано на потребление минимальных ресурсов (требуется всего 8 Кб ОЗУ), что позволяет использовать его на различных портативных системах, от простых встраиваемых датчиков и чипов для одежды, до умных часов и беспроводных шлюзов для IoT-устройств. Из средств сетевого и беспроводного взаимодействия ядром поддерживается Bluetooth 4, IPv4, IPv6, IEEE 802.15.4 (https://ru.wikipedia.org/wiki/IEEE_802.15.4), Bluetooth Low Energy (BLE), 6lowPAN (https://ru.wikipedia.org/wiki/6LoWPAN) (IPv6 over Low power Wireless Personal Area Networks), CoAP (https://en.wikipedia.org/wiki/Constrained_Application_Protocol) (Constrained Application Protocol), DTLS (https://ru.wikipedia.org/wiki/DTLS) (Datagram Transport Layer Security). Доступны драйверы ввода/вывода для ADC, GPIO, I2C и SPI.Основные особенности ядра Zephyr:
- Работа в едином адресном пространстве (SASOS, Single Address Space Operating System) - для всех процессов предоставляется только одно глобальное совместно используемое виртуальное адресное пространство. Специфичный для приложений код комбинируется с адаптированным под конкретное применение ядром и образует монолитный системный образ для загрузки и запуска на определённом оборудовании. Код приложений и ядра выполняются в одном общем адресном пространстве.
- Широкие возможности по настройке. В системный образ могут включаться только те возможности ядра, которые требуются для выполнения приложения;
- Все системные ресурсы определяются на этапе компиляции, что сокращает размер кода и увеличивает производительность;
- Минимальные проверки ошибок во время выполнения, что также сокращает размер кода и увеличивает производительность. Для отладки в форме подключаемой настройки предлагается специальная отладочная инфраструктура, позволяющая выявлять ошибки во время разработки приложения, создавая специальные тестовые образы;- Обширный набор привычных сервисов для разработки:- Многопоточность на основе приоритетов с вытесняющей и совместной моделью передачи управления.- Подключение обработчиков прерываний, регистрируемых как на этапе компиляции, так и во время выполнения;- Средства синхронизации данных между потоками - двоичные семафоры, семафоры-счетчики и мьютексы;- Средства передачи данных между потоками - простые очереди сообщений, расширенные очереди сообщений и байтовые потоки;- Сервисы для распределения памяти - динамическое выделение памяти и очистка для блоков памяти фиксированного и динамического размера;- Механизмы управления питанием: режим tickless (вместо фиксированного вызова по таймеру, процессор просыпается только при наличии событий) и расширенная инфраструктура управления простоем процессора (idle).
URL: http://www.linuxfoundation.org/news-media/announcements/2016...
Новость: http://www.opennet.me/opennews/art.shtml?num=43900
>Работа в едином адресном пространствеЭто они по DOS-у ностальгируют?
>8 Кб ОЗУНачал было писать большой и едкий комментарий, а потом заметил, что КиБ, а не МиБ. Ок.
Сразу виден большой опыт за плечами в делах RTOS. Да и DOS'а, похоже, ты "большой" знаток.Мне, например, это больше напоминает такую операционку как eCos (http://ecos.sourceware.org/)
Нет смысла во всем этом - сейчас в микромодуль 5х5 сантиметров лезет нормальный Linux. Потому что там запросто бывает 4 ядра и гиг оперативы.
> Нет смысла во всем этом - сейчас в микромодуль 5х5 сантиметров лезет нормальный Linux. Потому что там запросто бывает 4 ядра и гиг оперативы.Как думаете, этот ваш "микромодуль" и то для чего данная операционка разрабатывается - одинаково стоят? Конечно если вам "поковыряться дома", то проще переплатить несколько долларов и меньше морочиться. А если вам нужно произвести миллион устройств, что выберете?
PS Неужели думаете что корпорации входящие в LF глупее вас?
Для датчика размер 5х5 сантиметров - это ооочень много.
> Для датчика размер 5х5 сантиметров - это ооочень много.Зато 10 кг для ноутбука - в самый раз.
Так слово за слово датчик 5x5 см, оброс десятью килограммами аккумулятора и тянул целых 4 часа автономной работы
не, был один проект(специально не будут называть чтобы теперяшний владелец IP - не вздумал этого франкенштейна оживлять)где форки сначала фряхи а потом линукса - елозил поверх проца с софтварной эмуляцией не только MMU(привет, Inmos и NS !! :), но и прерываний аппаратных :=)
>Наработки проекта поставляются под лицензией Apache 2.0.
>Работа в едином адресном пространстве (SASOS, Single Address Space Operating System) - для всех процессов предоставляется только одно глобальное совместно используемое виртуальное адресное пространство.Вобщем ничего хорошего.
Лучше бы что-то типа этой http://chibios.org/ поддержали.
Нет, лучше это: https://github.com/shkolnick-kun/bugurtos
Тогда уж https://www.mbed.com/en/
Штука достойная получается, как мне кажется. Когда выбирал остановился на FreeRTOS, mbed был сырой ещё, но сейчас использовал бы его, код намного аккуратнее написан да и архитектура продумана лучше.
Не нашёл исходников самой ОС. Правильно ли я понимаю, что она проприетарная?
https://github.com/mbedmicro/mbed
> для интернета вещейAnother on bite the dust. Привет от FirefoxOS!
>Another on bite the dustfacepalm.mkv
Another one bites the dust
> от 8 до 512 Кб ОЗУМожет, не Кб, а KiB?
а может и нет.
kibibyte - KiB - 1024 byte
килобайт - КБ - 1024 байт
В то же время в ГОСТ/СИ/ISO кило, к- (маленькая) это 1000. Что и пишут производители носителей информации на коробках, не нарушая никаких стандартов.
скоро, на всех просторах ЛОРа скрины с этой OS на калькуляторах.
На утюгах, калькулятор это прошлый век.
на зубочистках же ж!
"Ок, гугл, а теперь прочисть мне нижний второй моляр"
Главное при этом - правильной стороной к Гуглу быть.
> ОС реального времени для интернета вещейточно, реального времени в интернете не хватает
Вся инфраструктура интернета функционирует на ОСРВ. Ну извини - без ОСРВ нормальной коммутации и маршрутизации сделать не получиться.
До конечного пользователя эта реалтаймовость как-то не доходит :)
Особенно Cisco IOS весь такой рилтаймовый.
Почему это не получится? Очень даже получится.Даже не углубляясь в ОС для сетевого оборудования, берём комп с не-RT линуксом, ..., готова коммутация и маршрутизация. Коммутация, возможно, будет так тебе (но упрётся в железо, а не ОС), а маршрутизация вполне нормальная.
>> ОС реального времени для интернета вещей
> точно, реального времени в интернете не хватаетИ Реальных Вещей!
> Широкие возможности по настройке. В системный образ могут включаться только те возможности ядра, которые требуются для выполнения приложения;
> Все системные ресурсы определяются на этапе компиляции, что сокращает размер кода и увеличивает производительность;
> Поставка в виде статически собранного исполняемого файла ограничивает вектор атак только скомпилированным кодом, без возможности загрузить свои модули.Правильно ли я понимаю, что для обновления софта на таком устройстве будет требоваться перекомпиляция всей ОС? Если так, то с точки зрения безопасности это заведомо провальное решение.
Очевидно, что простой пользователь залатыванием дыр заниматься не будет, и поэтому т.н. IoT быстро превратится в ворох дырявого барахла.
IoT - это тебе не виндовс/линукс-пекарня, ибо софт намного меньше и, как следствие, дыр намного меньше.
Да и вообще на эту ОС нужно смотреть как на заменителя FreeRTOS, а здесь своя атмосфера.
Я тут общался с одним профессиональным ембедщником, конвертнувшимся из жава-клауд девелопмента. Грит в IoT всё ещё хуже, чем даже в Сях. Никто не парится, что контроллер можно взломать.
Ну конечно-конечно все вокруг виноваты.P.S. друга не Дартаньян зовут?
>на заменителя FreeRTOS,
> а здесь своя атмосфера.А вототочо. Я-то было подумал, это от ЛФ повеяло.
--Дух в окопах.
Не, это от Hurd'а микроядерностью попахивает.
Должно быть автообновление + два или три флеша. Скачал образ на второй флеш, перезагрузил. По вотчдогу - перегрузился в первый, заводской образ, если зависло. По такому принципу, как сейчас BIOS на многих материнках в нескольких экземплярах и версиях.
> Должно быть автообновление + два или три флеша. Скачал образ на второй
> флеш, перезагрузил. По вотчдогу - перегрузился в первый, заводской образ, если
> зависло. По такому принципу, как сейчас BIOS на многих материнках в
> нескольких экземплярах и версиях.Идея неплохая. Но как же себя почувствует его величество "Планируемое_устаревание"? https://ru.wikipedia.org/wiki/%D0%9F%D0%...
А прошивку для телефона вы тоже лично компилируете?
А смысл то тот же самый. Утюг скачает прошивку и обновится :)
> ... и поэтому т.н. IoT быстро превратится в ворох дырявого барахла.оно в любом случае превратиться в дырявое барахло потому что такими проектами занимаются клинические кретины.
Оно и задумывалось как дырявое. АНБ не просто так придумало камеры в лампочки ставить. Ну да, чтобы включать самое подходящее к данному времени освещение, конечно.
Выкинут старые кеды и купят новые с новым ПО
А STM? =c
Может займутся этим и забудут про планы на лису…
>В состав SDK входят: GCCпочему не llvm? ведь код llvm гораздо быстрее!
Код llvm или код, полученный в результате компиляции?
уже и то и другое
Очень сильный свист.
Лучше бы основной Linux Kernel на микроядро перевели, вроде L4se. Хоть как-то защититься от дыр безопасности прямо в сетевом стеке или glibc, от глюков в драйверах, блобах и т.д.Нет, блин, вместо этого надо переписывать FreeRTOS.
> Лучше бы основной Linux Kernel на микроядро перевели, вроде L4se. Хоть как-то
> защититься от дыр безопасности прямо в сетевом стеке или glibc, от
> глюков в драйверах, блобах и т.д.
> Нет, блин, вместо этого надо переписывать FreeRTOS.Купи Мак :) там унутре Мах
> защититься от дыр безопасности прямо в сетевом стеке или glibc, от глюков в драйверахСколько раз писали уже: от глюков в драйверах это не спасёт. Просто исправлять их смысла не будет - а зачем, если и так всё работает. А если не работает, то у вас должен быть бэкап.
https://twitter.com/internetofshit
там много проектов и так мало годных проектов(
> Работа в едином адресном пространстве ... Разработка с оглядкой на безопасностьха-ХА. Разрешаю приступить к закапыванию вместе с идейными генераторами этого проекта. Можете с собой ещё прихватить несколько интернета вещей.
О! Главный разрешающий эксперт подтянулся!
>Linux FoundationВот же бл...Бюрократы и барыги. Где их знаменитые MeeGo и Tizen? Ясень пень - в жопе, как и все чем они занимаются. Ах они стандартизируют Линукс! Интересно как - кулаком по морде конечно.
>>Linux Foundation
> Вот же бл...Бюрократы и барыги. Где их знаменитые MeeGo и Tizen? Ясень
> пень - в жопе, как и все чем они занимаются. Ах
> они стандартизируют Линукс! Интересно как - кулаком по морде конечно.У них ЦА и Б-М другие. Понимаете, _они_ софт не делают. Они хороводы с проприертарщиками хороводят. У них в портфолио Линус почётным аниматором -- рассказывает, как хорош GPLv2=. Они конференции и консорциумы собирают, долю-бульон имеют. А чего там накодится -- вообще говоря, не важно для куска масла на бутерброд. О'Райли http://thebaffler.com/articles/the-meme-hustler гордится ими и завидует.
Ну наконец-то дошло, что как linux не собирай, как ядро ни чисть и опции не отключай он всеравно жирный для подобных девайсов. Успехов им!
https://twitter.com/internetofshit
Почему Python 2, а не 3?
И так тяжко переход даётся, так они ещё усугубляют, начиная новые проекты на нём.
> фиксированного вызова по таймеру, процессор просыпается только при наличии событийА чё, пендель от таймера - это не событие?
>> фиксированного вызова по таймеру, процессор просыпается только при наличии событий
> А чё, пендель от таймера - это не событие?Да, не. Словосочетанием "режим tickless" оббозначается отключение этих пенделей для экономии и профита.
> регистрируемых как на этапе компиляциичто это означает?
ОСЬ РТ без защиты адрессного пространства для эмбеддовки ???! они ...нулись ??
хотите ездить/летать на машине/авиалайнере управляемым Таким ? нунафиг !!
Contiki им не понравилась, я так понимаю?
> Contiki им не понравилась, я так понимаю?"Нужно больше кон-сор-циумов!"