SlideShare a Scribd company logo
1 of 23
Download to read offline
Особенности разработки ПО для встраиваемых систем и промышленного оборудования 
НПО «МИР», Казимиров Андрей
•операционные системы 
•клиентские приложения 
•игры 
•корпоративные системы, бизнес-ПО 
•серверное ПО 
•приложения для гаджетов 
Какое бывает ПО
Что такое «встраиваемое ПО»? 
Привет 
участникам соревнований
Чем отличается встраиваемое ПО 
•повышенная надежность 
•высокая цена ошибки 
•ограниченность ресурсов 
•предсказуемость во времени 
•жесткие условия эксплуатации 
•долгий срок жизни
Надежность и цена ошибки 
Завис Skype ? 
Я перезвоню ! 
Глючит Angry Birds ? 
Я переустановлю ! 
Улетел не туда Фобос-Грунт ? 
???
Использование ресурсов 
Кто круче ? 
CPU 1 ГГц, 2 ядра 
8Г FLASH 
1Г RAM 
WiFi 150 Мбит/с 
экран 1280*720 
CPU 80 МГц 
512к FLASH 
96к RAM 
Zigbee 10кбит/с 
экран 128*32
Использование ресурсов 
Ресурсов мало и поэтому приходится думать 
•архитектура ПО важна, как никогда 
•любая универсальность избыточна 
•«про запас, на всякий случай» не бывает 
Кто из них умеет считать копейки ?
Реальное время и многозадачность 
Что такое «реальное» время ? 
•телеком: микросекунды и меньше 
•системы управления: 1 мс и меньше 
•автомобиль: 10…100 мс 
•медицинское оборудование: 100 мс…1 сек 
•«обычные компьютеры»: секунды
Реальное время и многозадачность 
Время обработки данных м многозадачность 
ВРЕМЯ
Реальное время и многозадачность 
•приоритеты задач 
•вытесняющая и кооперативная многозадачность 
•устойчивость к «ненормальным» данным 
ЦЕЛЬ: предсказуемость системы
«Поставить процессор помощнее»? 
А действительно – почему бы не облегчить жизнь программисту ? 
•стоимость для low-mid-end продуктов CPU – от $1 до $10 
•достаточность ресурсов при грамотной разработке, консервативность 
•ограниченность существующих технологий 
•жесткие условия эксплуатации
Существующие технологии 
•в России – либо дорого, либо невозможно 
•в Китае – нужна серийность десятки тысяч 
Результат: далеко не все, что есть, можно применить в разработке
Условия эксплуатации 
•жесткие нормы к излучаемым помехам 
•выше частота – больше помех 
•выше частота – больше энергопотребление 
•далеко не все «бытовые» технологии применимы в промышленности
Ресурсов мало, но достаточно 
Компромисс железо-софт 
Типовые характеристики систем: 
•частоты CPU от 10…20 до 200…400 МГц 
•объемы памяти от 10 кБайт до 1Гб 
•часто только целочисленная арифметика 
•отсутствие файловых систем, динамической памяти и других радостей 
Отдельный класс: Linux/WindowsCE-системы
Квалификация пользователя 
Уровень техники растет, а квалификация персонала падает !!! 
Что делать ? 
•скрыть все от пользователя 
•что нельзя скрыть - сделать интуитивно понятным 
ПОЛЬЗОВАТЕЛЬ НЕ УМЕЕТ ПРОГРАММИРОВАТЬ
Защита от дурака 
Типовые случаи действий пользователя: 
•неправильное конфигурирование 
•включение всех функций «на всякий случай» 
•ПО обновили, конфигурацию – нет 
•обновили конфигурацию каналов связи по этим же каналам связи 
Переполнение переменных – штатный случай ! проблемы 2000 быть не должно
Обновление ПО 
Есть отрасли, где ПО обновлять нельзя !!! то есть нельзя ошибаться??? ДА, НЕЛЬЗЯ !!! 
При обновлении ПО нельзя удалять 
старую версию 
При обновлении ПО нельзя терять накопленные архивные данные
Использование готового кода 
Шаблоны, фреймворки, 
библиотеки, сторонний код 
•слабая предсказуемость 
•занимаемые ресурсы 
•«индусский код» 
Единственный плюс: 
скорость освоения
Безопасность и защита 
Проблема взлома встраиваемых систем гораздо менее актуальна, чем на ПК 
Исключение – системы охраны 
ВАЖНО: защита данных от сбоев 
•контрольные суммы всех важных данных 
•дублирование данных 
•корректное восстановление после сбоев
Что в итоге ? 
Встраиваемое ПО не сложнее и не проще, чем игра или WEB-клиент, оно ДРУГОЕ 
•ограниченность ресурсов 
•предсказуемость во времени 
•повышенная надежность 
•долгий срок жизни
Немного о нас 
НПО «МИР» – это разработка, 
производство, внедрение 
автоматизированных систем 
сбора данных и управления 
для электроэнергетики
Разработка 
•измерения и цифровая обработка сигналов 
•сбор и передача данных 
•серверное ПО, СУБД 
•клиентские места, WEB-технологии
С чего начать путь в embedded ? 
•Arduino 
•STM Discovery 
•Raspberry PI 
•практика в НПО «МИР» 
СПАСИБО ЗА ВНИМАНИЕ !!!

More Related Content

Viewers also liked

2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
HappyDev
 
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем
HappyDev
 
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
HappyDev
 
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
HappyDev
 
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
HappyDev
 
Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12
Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12
Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12
HappyDev
 
2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...
2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...
2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...
HappyDev
 

Viewers also liked (18)

2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
 
2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
2015-12-06 Андрей Коновалов - От сервисной компании к продуктовой: что нужно,...
 
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем
2015-12-05 Вадим Литвинов - Проблемы разработки распределённых систем
 
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
2015-12-06 Сергей Хрущев - Человеческим языком о суперкомпьютерах
 
09 01 HappyDev-lite'14 Андрей Токарев. Разработка iOS-приложений
09 01 HappyDev-lite'14 Андрей Токарев. Разработка iOS-приложений09 01 HappyDev-lite'14 Андрей Токарев. Разработка iOS-приложений
09 01 HappyDev-lite'14 Андрей Токарев. Разработка iOS-приложений
 
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
2015-12-06 Александр Чернышев - Технологии открытости мобильных приложений
 
Александр Кудымов - Любовь и честность в интерфейсах | HappyDev'12
Александр Кудымов - Любовь и честность в интерфейсах | HappyDev'12Александр Кудымов - Любовь и честность в интерфейсах | HappyDev'12
Александр Кудымов - Любовь и честность в интерфейсах | HappyDev'12
 
2015-12-05 Александр Шиповалов - Веселые картинки в тестировании
2015-12-05 Александр Шиповалов - Веселые картинки в тестировании2015-12-05 Александр Шиповалов - Веселые картинки в тестировании
2015-12-05 Александр Шиповалов - Веселые картинки в тестировании
 
2014.12.06 03 Геннадий Омышев — Рецепт приготовления фирменного стиля
2014.12.06 03 Геннадий Омышев — Рецепт приготовления фирменного стиля2014.12.06 03 Геннадий Омышев — Рецепт приготовления фирменного стиля
2014.12.06 03 Геннадий Омышев — Рецепт приготовления фирменного стиля
 
13 HappyDev-lite'14 Павел Сумароков. Ответственный подход к профессиональном...
13 HappyDev-lite'14 Павел Сумароков. Ответственный подход к профессиональном...13 HappyDev-lite'14 Павел Сумароков. Ответственный подход к профессиональном...
13 HappyDev-lite'14 Павел Сумароков. Ответственный подход к профессиональном...
 
2015-12-06 Евгений Тюменцев - Практики разработки серверных приложений
2015-12-06 Евгений Тюменцев - Практики разработки серверных приложений2015-12-06 Евгений Тюменцев - Практики разработки серверных приложений
2015-12-06 Евгений Тюменцев - Практики разработки серверных приложений
 
Симуляция аттестации. Максим Дорофеев.
Симуляция аттестации. Максим Дорофеев.Симуляция аттестации. Максим Дорофеев.
Симуляция аттестации. Максим Дорофеев.
 
2015-04-12 06 Елена Гальцина. Осознанный ты
2015-04-12 06 Елена Гальцина. Осознанный ты2015-04-12 06 Елена Гальцина. Осознанный ты
2015-04-12 06 Елена Гальцина. Осознанный ты
 
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
Олег Годовых - Как учёба в универе и олимпиады не сделали мою жизнь хуже | Ha...
 
Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12
Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12
Рамиль Шайхутдинов - Фууу, стартап! | HappyDev'12
 
2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...
2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...
2015-12-05 Максим Дорофеев - Студенческий синдром: почему мы все делаем в пос...
 
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
HappyDev-lite-2016-осень, день 2 09 Сергей Савченко. Школа программиста, учи...
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 

Similar to 11 HappyDev-lite'14 Андрей Казимиров. Особенности разработки по для встраиваемых систем и промышленного оборудования

Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPI
Leonid Yuriev
 
Обеспечение безопасности расширений в корпоративных информационных системах
Обеспечение безопасности расширений в корпоративных информационных системахОбеспечение безопасности расширений в корпоративных информационных системах
Обеспечение безопасности расширений в корпоративных информационных системах
Andrew Petukhov
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
Alex Chistyakov
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеIBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
Sasha_Zavorot
 
Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...
yaevents
 
Экономика проекта с точки зрения IT
Экономика проекта с точки зрения ITЭкономика проекта с точки зрения IT
Экономика проекта с точки зрения IT
oleg.bunin
 
Программы для Метрологии от Вискомп (Саратов)
Программы для Метрологии от Вискомп (Саратов)Программы для Метрологии от Вискомп (Саратов)
Программы для Метрологии от Вискомп (Саратов)
Viscomp Ltd.
 

Similar to 11 HappyDev-lite'14 Андрей Казимиров. Особенности разработки по для встраиваемых систем и промышленного оборудования (20)

13 HappyDev-lite-2014. Андрей Казимиров. Особенности разработки по для встра...
13 HappyDev-lite-2014. Андрей Казимиров. Особенности разработки по для встра...13 HappyDev-lite-2014. Андрей Казимиров. Особенности разработки по для встра...
13 HappyDev-lite-2014. Андрей Казимиров. Особенности разработки по для встра...
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
 
Highload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPIHighload++2013: TopGun - архитектура терабитной платформы DPI
Highload++2013: TopGun - архитектура терабитной платформы DPI
 
Обеспечение безопасности расширений в корпоративных информационных системах
Обеспечение безопасности расширений в корпоративных информационных системахОбеспечение безопасности расширений в корпоративных информационных системах
Обеспечение безопасности расширений в корпоративных информационных системах
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеIBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность  в каждом байтеIBM FlashSystem-Бескомпромиссность  в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
 
Опыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-системОпыт повышения доступности ключевых банковских ИТ-систем
Опыт повышения доступности ключевых банковских ИТ-систем
 
Sivko
SivkoSivko
Sivko
 
Oblachnye vychisleniya -_ponyatiya_i_tehnologii
Oblachnye vychisleniya -_ponyatiya_i_tehnologiiOblachnye vychisleniya -_ponyatiya_i_tehnologii
Oblachnye vychisleniya -_ponyatiya_i_tehnologii
 
Опыт виртуализации системы электронной почты ММК
Опыт виртуализации системы электронной почты ММКОпыт виртуализации системы электронной почты ММК
Опыт виртуализации системы электронной почты ММК
 
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
 
Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...
 
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
 
Экономика проекта с точки зрения IT
Экономика проекта с точки зрения ITЭкономика проекта с точки зрения IT
Экономика проекта с точки зрения IT
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
История успеха: защита данных критических приложений в Группе Компаний «Лекхи...
История успеха: защита данных критических приложений в Группе Компаний «Лекхи...История успеха: защита данных критических приложений в Группе Компаний «Лекхи...
История успеха: защита данных критических приложений в Группе Компаний «Лекхи...
 
Безопасность - это не только конфиденциальность
Безопасность - это не только конфиденциальностьБезопасность - это не только конфиденциальность
Безопасность - это не только конфиденциальность
 
Windows 7
Windows 7Windows 7
Windows 7
 
Программы для Метрологии от Вискомп (Саратов)
Программы для Метрологии от Вискомп (Саратов)Программы для Метрологии от Вискомп (Саратов)
Программы для Метрологии от Вискомп (Саратов)
 

More from HappyDev

2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
HappyDev
 
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
HappyDev
 
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
HappyDev
 
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
HappyDev
 
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
HappyDev
 
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
HappyDev
 
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
HappyDev
 
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
HappyDev
 
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
HappyDev
 
2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...
2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...
2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...
HappyDev
 
2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя
2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя
2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя
HappyDev
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
HappyDev
 
2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...
2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...
2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...
HappyDev
 
2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...
2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...
2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...
HappyDev
 
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
HappyDev
 
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
HappyDev
 

More from HappyDev (20)

2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
2015-12-05 Антон Непомнящих - Agile — как уложиться в сроки и бюджет?
 
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
 
2015-12-06 Константин Борисов - Как собеседовать программиста?
2015-12-06 Константин Борисов - Как собеседовать программиста?2015-12-06 Константин Борисов - Как собеседовать программиста?
2015-12-06 Константин Борисов - Как собеседовать программиста?
 
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
 
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
 
2015-12-05 Вадим Литвинов - Нагрузочное тестирование с MZBench
2015-12-05 Вадим Литвинов - Нагрузочное тестирование с MZBench2015-12-05 Вадим Литвинов - Нагрузочное тестирование с MZBench
2015-12-05 Вадим Литвинов - Нагрузочное тестирование с MZBench
 
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
 
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
2015-12-06 Юрий Мельничек - Руководство для разработчиков по маркетингу мобил...
 
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
2015-12-06 Максим Юнусов - Проектирование REST приложения, или нужно ли прогр...
 
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
 
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
2015-12-06 Артем Зиненко - Что делать, если браузеры клиентов действуют проти...
 
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
2015-12-06 Антон Тарасенко - Ваш следующий сервис будет асинхронным
 
2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...
2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...
2015-12-05 Максим Дорофеев - Сила первого шага или сессия групповой депрокрас...
 
2015-12-05 Александр Рожнов - Свое облако под стейджинг
2015-12-05 Александр Рожнов - Свое облако под стейджинг2015-12-05 Александр Рожнов - Свое облако под стейджинг
2015-12-05 Александр Рожнов - Свое облако под стейджинг
 
2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя
2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя
2015-12-05 Анатолий Орлов - Скорость с доставкой до пользователя
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...
2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...
2015-12-05 Дмитрий Еманов - Многоверсионная архитектура данных: аспирин или г...
 
2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...
2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...
2015-12-05 Андрей Сидоренко - Сценарии использования и их роль в процессе раз...
 
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
 
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
 

11 HappyDev-lite'14 Андрей Казимиров. Особенности разработки по для встраиваемых систем и промышленного оборудования

  • 1. Особенности разработки ПО для встраиваемых систем и промышленного оборудования НПО «МИР», Казимиров Андрей
  • 2. •операционные системы •клиентские приложения •игры •корпоративные системы, бизнес-ПО •серверное ПО •приложения для гаджетов Какое бывает ПО
  • 3. Что такое «встраиваемое ПО»? Привет участникам соревнований
  • 4. Чем отличается встраиваемое ПО •повышенная надежность •высокая цена ошибки •ограниченность ресурсов •предсказуемость во времени •жесткие условия эксплуатации •долгий срок жизни
  • 5. Надежность и цена ошибки Завис Skype ? Я перезвоню ! Глючит Angry Birds ? Я переустановлю ! Улетел не туда Фобос-Грунт ? ???
  • 6. Использование ресурсов Кто круче ? CPU 1 ГГц, 2 ядра 8Г FLASH 1Г RAM WiFi 150 Мбит/с экран 1280*720 CPU 80 МГц 512к FLASH 96к RAM Zigbee 10кбит/с экран 128*32
  • 7. Использование ресурсов Ресурсов мало и поэтому приходится думать •архитектура ПО важна, как никогда •любая универсальность избыточна •«про запас, на всякий случай» не бывает Кто из них умеет считать копейки ?
  • 8. Реальное время и многозадачность Что такое «реальное» время ? •телеком: микросекунды и меньше •системы управления: 1 мс и меньше •автомобиль: 10…100 мс •медицинское оборудование: 100 мс…1 сек •«обычные компьютеры»: секунды
  • 9. Реальное время и многозадачность Время обработки данных м многозадачность ВРЕМЯ
  • 10. Реальное время и многозадачность •приоритеты задач •вытесняющая и кооперативная многозадачность •устойчивость к «ненормальным» данным ЦЕЛЬ: предсказуемость системы
  • 11. «Поставить процессор помощнее»? А действительно – почему бы не облегчить жизнь программисту ? •стоимость для low-mid-end продуктов CPU – от $1 до $10 •достаточность ресурсов при грамотной разработке, консервативность •ограниченность существующих технологий •жесткие условия эксплуатации
  • 12. Существующие технологии •в России – либо дорого, либо невозможно •в Китае – нужна серийность десятки тысяч Результат: далеко не все, что есть, можно применить в разработке
  • 13. Условия эксплуатации •жесткие нормы к излучаемым помехам •выше частота – больше помех •выше частота – больше энергопотребление •далеко не все «бытовые» технологии применимы в промышленности
  • 14. Ресурсов мало, но достаточно Компромисс железо-софт Типовые характеристики систем: •частоты CPU от 10…20 до 200…400 МГц •объемы памяти от 10 кБайт до 1Гб •часто только целочисленная арифметика •отсутствие файловых систем, динамической памяти и других радостей Отдельный класс: Linux/WindowsCE-системы
  • 15. Квалификация пользователя Уровень техники растет, а квалификация персонала падает !!! Что делать ? •скрыть все от пользователя •что нельзя скрыть - сделать интуитивно понятным ПОЛЬЗОВАТЕЛЬ НЕ УМЕЕТ ПРОГРАММИРОВАТЬ
  • 16. Защита от дурака Типовые случаи действий пользователя: •неправильное конфигурирование •включение всех функций «на всякий случай» •ПО обновили, конфигурацию – нет •обновили конфигурацию каналов связи по этим же каналам связи Переполнение переменных – штатный случай ! проблемы 2000 быть не должно
  • 17. Обновление ПО Есть отрасли, где ПО обновлять нельзя !!! то есть нельзя ошибаться??? ДА, НЕЛЬЗЯ !!! При обновлении ПО нельзя удалять старую версию При обновлении ПО нельзя терять накопленные архивные данные
  • 18. Использование готового кода Шаблоны, фреймворки, библиотеки, сторонний код •слабая предсказуемость •занимаемые ресурсы •«индусский код» Единственный плюс: скорость освоения
  • 19. Безопасность и защита Проблема взлома встраиваемых систем гораздо менее актуальна, чем на ПК Исключение – системы охраны ВАЖНО: защита данных от сбоев •контрольные суммы всех важных данных •дублирование данных •корректное восстановление после сбоев
  • 20. Что в итоге ? Встраиваемое ПО не сложнее и не проще, чем игра или WEB-клиент, оно ДРУГОЕ •ограниченность ресурсов •предсказуемость во времени •повышенная надежность •долгий срок жизни
  • 21. Немного о нас НПО «МИР» – это разработка, производство, внедрение автоматизированных систем сбора данных и управления для электроэнергетики
  • 22. Разработка •измерения и цифровая обработка сигналов •сбор и передача данных •серверное ПО, СУБД •клиентские места, WEB-технологии
  • 23. С чего начать путь в embedded ? •Arduino •STM Discovery •Raspberry PI •практика в НПО «МИР» СПАСИБО ЗА ВНИМАНИЕ !!!