Pull to refresh
20
0
Александр @Sagaris

User

Send message

Динамическая память в системах жёсткого реального времени

Reading time 6 min
Views 17K

Существует класс приложений реального времени, для которых тяжело предсказать потребности в распределении памяти во время выполнения статически. В этот класс входят, например, встраиваемые реализации стеков некоторых коммуникационных протоколов, где поведение и распределение ресурсов определяется отчасти активностью других агентов в сети. Классический подход в таких случаях заключается в использовании блочных менеджеров памяти, выделяющих фрагменты фиксированного размера (как это сделано, например, в LwIP). Этот подход накладывает нежелательные функциональные и качественные ограничения на реализацию. В этой заметке я предлагаю точку зрения, что традиционные (не блочные) аллокаторы незаслуженно обделены вниманием разработчиков систем реального времени, делюсь соображениями по релевантным вопросам, жалуюсь на жизнь, и предлагаю улучшить положение дел.



(КДПВ – см. аннотацию к диаграмме в конце)

Читать дальше →
Total votes 61: ↑60 and ↓1 +59
Comments 52

10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками

Reading time 3 min
Views 159K

image
Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона»


Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА, ответственный за большинство беспилотных космических кораблей США. Там пишут много кода, и права на ошибку у них намного меньше, чем у обычных программистов.


В JPL пишут на Си, и на их сайте есть документ "JPL Institutional Coding Standard", описывающий жесткие стандарты кодирования внутри организации. Они напоминают правила программирования для встроенных (embedded) систем и систем реального времени, с ограниченными ресурсами. Но многие из правил эти просто принципы хорошего программирования. Ограничение сложности, максимальное упрощение для последующего чтения кода и отладки, отсутствие побочных эффектов. Мы в Хекслете постоянно говорим об этом в вебинарах и, конечно, в самих курсах. Мы считаем очень важным как можно раньше поднимать эти темы, поэтому про функции и побочные эффекты начинаем говорить в самом первом курсе «Основы программирования», который рассчитан на новичков. Это бесплатный курс, кстати, и в нем есть практика на языке JavaScript.


Спасибо хабраюзеру Boletus за важную поправку и дополнение:
В 2006 году Gerard Holzmann с коллективом сформулировал 10 основных правил для JPL в документе «The Power of 10: Rules for Developing Safety-Critical Code». Они вошли в основу нынешнего стандарта, наряду с MISRA C и другими дополнениями. Статья в Википедии.


Вот перевод этого списка.

Читать дальше →
Total votes 92: ↑80 and ↓12 +68
Comments 118

БИНС-шминс. Вводная статья

Reading time 5 min
Views 60K
Зарегистрирован на хабре с 9 июля 2008. Ни разу ничего не писал, только читал, Карма ниже нуля. Решился.
Сразу обращение к уважаемому «хабрасообщесту» статья это попытка разобраться в тех вопрос которые для меня ещё как бы не до конца поняты, поэтому жду конструктивную критику и понятные отзывы, а не «ты дурак и всё».Теперь и к теме приступим.
Читать дальше →
Total votes 64: ↑56 and ↓8 +48
Comments 35

Использование автоматизированных верификационных средств для тестирования ПО в соответствии со стандартами DO-178B/C (КТ-178В), EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304

Reading time 12 min
Views 25K

Введение от автора поста



Имея опыт разработки ПО для ответственных систем более чем 8 лет, хочу познакомить сообщество с некоторыми материалами, связанными с разработкой и верификацией ПО для ответственных систем (аэрокосмическая область, медицина, транспорт и промышленность). Получив согласие на перевод и адаптирование ряда интересных статей у зарубежных коллег решил воспользоваться данным ресурсом. Буду рад, если статья заинтересует наше сообщество. В статье использованы материалы фирмы Vector Software, Inc. и рассматривается пример использования автоматизированного верификационного инструментария VectorCAST.
В статье мы акцентируем внимание на стандартах DO-178B/C (КТ-178В), но данная статья актуальна и для применения в соответствии со стандартами: EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304.
На вопросы отвечу в комментариях или в личку.

Введение


В этой статье, мы рассмотрим каким образом платформа тестирования встроенного программного обеспечения (ПО) VectorCAST может быть использована для достижения целей процесса верификации ПО, определенного в разделе 6.0 стандартов DO-178B и DO-178C (КТ-178В) «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники». В документе также освещаются различия между двумя стандартами в части раздела 12 «Процесс квалификации инструментального ПО».

Подробнее
Total votes 12: ↑8 and ↓4 +4
Comments 9

История одной IT-компании, которая так и не пришла к успеху (Ч.2)

Reading time 16 min
Views 13K

Зарождение компании


Главная польза капитала не в том, чтобы сделать больше денег, но в том, чтобы делать деньги ради улучшения жизни. © Генри Форд

… начало 2011- середина 2012 год.

Действующая схема заработка плавно приходила к своему концу «генетического кода», а именно к закату эры «золотых дровосеков». Самым лучшим решением казалось, взять все дочерние сервисы, которые использовались для своих целей и довести их до ума разума переделать под внешний рынок. В обратном случае придется все сложить в самый дальний угол и оставить там гнить да покрываться пылью.


Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 7

История одной IT-компании, которая так и не пришла к успеху

Reading time 5 min
Views 18K
Частенько встречаются статьи на тему «что необходимо для создания успешного IT бизнеса», «основополагающие факторы успеха IT компании» и все в этом же духе. Одни убеждены, что для старта необходимы инвестиции, другие делают упор на команду. Существует сто пятьсот советов и такое же количество «историй успеха». По этой причине у меня появилась идея рассказать историю одной компании (реальные имена и названия будут изменены, дабы не тыкать пальцами). История больше похожа на неуспех, несмотря на наличие большинства факторов, которые должны были привести к успеху, но не все пошло на пользу.


Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Comments 14

История одной IT-компании, которая так и не пришла к успеху (Ч.3)

Reading time 18 min
Views 20K

Пролонгация


Денежная инфекция поражает воображение. © Павел Шарпп

2013 год. Пришло время оценить результаты работы за прошлый год. Сделано много — похвалиться нечем.
CEO прочитав какую-то из очередных «умных» книг (а может и посетив семинар) понял в чем у нас загвоздка. Появились понятия о капитализации, экзитах, опционах, акциях, бюджетах, прогнозах, гипотезах и об инвестиционных раундах.


Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 7

Как правильно внести свою лепту в Open Source проект: простые подсказки

Reading time 6 min
Views 69K
Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


Читать дальше →
Total votes 80: ↑69 and ↓11 +58
Comments 41

Калибровка Kinect v2 с помощью OpenCV на Python

Reading time 8 min
Views 25K
Не так давно мы начали пару проектов, в которых необходима оптическая система с каналом дальности, и решили для этого использовать Kinect v2. Поскольку проекты реализуются на Python, то для начала нужно было заставить работать Kinect из Python, а затем откалибровать его, так как Kinect из коробки вносит некоторые геометрические искажения в кадры и дает сантиметровые ошибки в определении глубины.

До этого я никогда не имел дела ни с компьютерным зрением, ни с OpenCV, ни с Kinect. Исчерпывающую инструкцию, как со всем этим хозяйством работать, мне найти тоже не удалось, так что в итоге пришлось порядком повозиться. И я решил, что будет не лишним систематизировать полученный опыт в этой статье. Быть может, она окажется небесполезной для какого-нибудь страждущего, а еще нам нужна популярная статья для галочки в отчетности.

image
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 9

Фильтр Маджвика

Reading time 38 min
Views 130K

Предисловие от переводчика


Здесь представлен один из новейших методов расчёта ориентации в пространстве по показаниям датчиков акселерометра, гироскопа и компаса — фильтр Маджвика, который, по словам автора, даёт результат лучший, чем применение фильтра на основе метода Калмана в результатах и производительности. Автор — Себастьян Маджвик (его интернет-магазин). Метод описан в статье на английском. Данная работа защищена в Университете г. Бристоля Перевода я не нашёл. Переводчик из меня так себе, особенно таких сложных текстов. Но нам же интересно, что за метод?

Кое-где буду от себя добавлять — там текст выделен курсивом. Мною найдено более 10 опечаток в оригинальном тексте. Вообще было довольно трудно, поэтому помощь приветствуется — пишите в комментариях, где перефразировать нужно, в общем, где что не так.


Читать дальше →
Total votes 66: ↑64 and ↓2 +62
Comments 17

Неортогональная БИНС для малых БПЛА

Reading time 7 min
Views 31K
БИНС
По правилам сокращений в заголовке не должно быть, но расписав сокращения я превратил бы заголовок в аннотацию. Так что вот…
  • БИНС — бесплатформенная инерциальная навигационная система
  • БПЛА — беспилотный летательный аппарат
  • ОЧ — ось чувствительности датчика

Речь в статье пойдет о навигационной системе, в которой ОЧ датчиков ориентированы неортогонально, т.е. расположены под некоторым, ненулевым, углом к осям системы координат, связанной с БПЛА. Особенность таких БИНС в том, что по информации от каждого из датчиков можно получить значения всех трех компонент угловой скорости (для гироскопов) и линейного ускорения (для линейных акселерометров) объекта.
Статья написана как дополнение к Строим мультикоптер, часть вторая. Целью является описание одного из способов борьбы с дрейфом нуля в дешевых датчиках.
Для чего нужна избыточность читать тут...
Total votes 67: ↑63 and ↓4 +59
Comments 45

Проект Dronecode: свободная платформа для беспилотных аппаратов

Reading time 1 min
Views 24K


Организация Linux Foundation взяла под своё крыло проект Dronecode, цель которого — создание свободной и открытой платформы для беспилотных летательных аппаратов (БПЛА).

Ключевым участником является компания 3D Robotics, которая предоставила в общественное пользование платформу APM Autopilot Suite для управления БПЛА (платформа раньше была известна как ArduPilot).

Кроме того, в Dronecode включили разработки ещё одного проекта PX4, который ведётся в техническом университете Цюриха.
Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Comments 16

На пороге дополненной реальности: к чему готовиться разработчикам (часть 2 из 3)

Reading time 9 min
Views 82K

Это продолжение (см. часть 1) стенограммы одноименного доклада с конференции ADD-2010.

В этой части речь пойдет о том, как обрабатывать данные с сенсоров, а именно: акселерометров, гироскопов и магнитных компасов. И зачем в современных устройствах ставят все три вида датчиков.
Читать дальше →
Total votes 64: ↑62 and ↓2 +60
Comments 15

Эффект Foursquare

Reading time 4 min
Views 1.3K
image

Гонка между технологическими компаниями c одной целью: сказать вам что делать со своим свободным временем, свободным вечером и всем остальным, свободным, может закончиться сегодня, с выходом новой версии популярной геолокационной социальной сети. Согласно заявлению компании, долгожданные рекомендации наконец-то будут включены.

Одно дело — когда сервис рекомендует вам фильмы, музыку и другие продукты которые вам могут понравится. Совсем другое, когда автоматическая система говорит, куда вы можете пойти захлопнув дверь своего дома, и какие места в городе вам стоит посетить. Эту область пытается затронуть огромное количество уже-не-стартапов, включая Facebook и Google.
Читать дальше →
Total votes 60: ↑54 and ↓6 +48
Comments 52

Первый пластиковый процессор

Reading time 1 min
Views 1.8K
Группа исследователей из Бельгийского центра Imec на конференции ISSCC 20 февраля 2011 года представили первый в мире пластиковый (или органический) микропроцессор, который способен выполнять около шести инструкций в секунду.

Восьмибитный чип из 4000 транзисторов по характеристикам напоминает кремниевые микросхемы 70-ых годов, но разница в том, что он сделан на пластиковой подложке (polyethylene naphthalate), на которую наносят последовательно слой золота, органический диэлектрик, второй слой золота и органический полупроводник из пентацена. Получается плёнка толщиной 25 мкм, которую можно приклеить на любую поверхность.
Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Comments 27

Фулвью ор нот фулвью: о пользе и вреде полной BGP-таблицы

Reading time 17 min
Views 72K

На любом околосетевом форуме легко найти с десяток веток о выборе оборудования для BGP-пиринга с возможностью «держать две, три, пять, двадцать пять фулвью». Большинство таких веток выливается в холивары на тему Cisco vs. Juniper или еще чего похуже. Офлайновое же их развитие нередко напоминает мультфильм о шести шапках из одной овичины. В общем, бывает смешно.




И крайне редко обсуждается вопрос о необходимости этого самого фулвью.



Давайте попробуем разобраться.
Total votes 95: ↑92 and ↓3 +89
Comments 55

Учимся жить без копирайта

Reading time 9 min
Views 3.5K
Использование торрентов стало повсеместным. Пираты создали вокруг себя вполне устойчивую бизнес-модель, которая пока и не думает себя изживать. Конечно, правообладатели активно пытаются с этим бороться, но всеми этими судебными исками и штрафованием пользователей они вряд ли завоюют народную любовь, а ведь лояльность потребителей — одна из важнейших составляющих коммерческого успеха интеллектуальных творений.
Важно понимать одну простую вещь — на данный момент не существует стопроцентно надежных и гарантирующих успех способов защитить авторское право и препятствовать свободному распространению продукции. Как ни пугай народ, как ни договаривайся с провайдерами, какие только DRM не ставь — все равно даже неискушенный пользователь интернета сможет без труда найти в сети «защищенный» продукт.
image
Возможно, для правообладателей лучшим решением в этой непростой ситуации будет не поиск новых технических и юридических методов защиты своего драгоценного творчества, а сделать так, чтобы свободное распространение, из-за которого они сейчас теряют деньги, наоборот, создавало возможность зарабатывания денег. Другими словами, вспоминая знаменитое изречение Линкольна, лучший способ победить врага — это обратить его в друга.
Итак, в этом после я хотел перечислить, говоря формальным языком, все возможные альтернативные механизмы компенсации затрат на создание интеллектуальных продуктов, которые мне известны. В данном блоге уважаемые хабраюзеры множество раз обсуждали эту тему, но никто пока не брал на себя труд обобщить все доводы и факты. Я попробую взяться за это.
Читать дальше →
Total votes 139: ↑98 and ↓41 +57
Comments 410

Данные с датчиков HTC Desire

Reading time 7 min
Views 7.6K

Введение


Привет хабрасообщетво! Давно хотел написать статью, как однажды пришлось поработать с данными, получаемыми от датчиков HTC Desire, находящегося под управлением Android.
image
Целью было: определение перемещения объекта. То есть по данным с датчиков была возможность получить значения ускорений и моментов времени этих измерений. Далее обрабатывая данные уже вычислить скорость, и затем перемещение.
Читать дальше →
Total votes 80: ↑69 and ↓11 +58
Comments 33

Тестируем: сравнение производительности IMX6 и OMAP4

Reading time 4 min
Views 18K

В этой статье мы поделимся результатами тестирования производительности двух систем на базе ARM-процессора с ядром Cortex-A9 — OMAP4 PandaBoard ES и i.MX6Q SABRE Lite (dev kit онлайн-сообщества element14).


Читать дальше →
Total votes 19: ↑14 and ↓5 +9
Comments 13

CubieBoard дорого, Raspberry Pi слабовато, или где взять SoC с GPIO помощней да подешевле

Reading time 4 min
Views 155K

Raspberry Pi стал народным одноплатником почти сразу после своего появления, так как более дешевых, маленьких и универсальных одновременно SoC систем не было. Однако ныне настало время, когда китайцы выпускают дешевые, и компактные SoC вроде AllWinner A10 частотой до 1,2 GHz, которые смотрятся заметно заманчивее чем 0,7 GHz малинового пирога.

Есть конечно CubieBoard
Читать дальше →
Total votes 43: ↑38 and ↓5 +33
Comments 63

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity