Организация 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...
Новость: https://www.opennet.ru/opennews/art.shtml?num=43900